你好,大师,
我们正在开始将mysql数据迁移到nosqls,我们希望将所有表格格式的数据迁移到嵌套的json格式。在某些情况下,我们将执行连接来获取数据(数据应以嵌套数组或结构格式保存),因此我们应该如何将数据转换为嵌套的json格式。我们需要这方面的建议。我们正试图借助像sqoop、hive、pig这样的hadoop工具来构建这个解决方案。
请你提出我们实现这一目标的可能方法。
我们尝试了下面的sqoop import命令:sqoop import--username*--password*--connect'jdbc:mysql://realstart。:3306/retail_db'--query'选择orders.order\u id,customers.customer\u id为“customers.customer\u id”,customers.customer\u fname作为orders left中的“customers.customer\u fname”加入orders.order\u customer\u id=customers.customer\u id其中$conditions'--hcatalog database default--hcatalog table orders--split by order\u id
我们使用下面的查询创建了hcat表:hcat-e“create table orders(order\ id int,customers struct)row format serde'org.openx.data.jsonserde.jsonserde'”
但不确定如何匹配sqoop import的--query中hcat schema的schema。
谢谢和问候,马亨德拉
1条答案
按热度按时间nbewdwxp1#
我认为最好的选择是使用hadoopmapreduce类,编写自定义作业来创建嵌套的json输出,或者从mysql数据库转储并转换数据。您可以在hadoop或pig中查看有关自定义作业的文档:
http://joshualande.com/read-write-json-apache-pig
一种从mysql到pig的表数据读取方法
我认为在sqoop中没有任何“现成的”选项来创建json输出。