我今天在mysql中有4列和3行的表。我已将该数据直接导入为hive表。
表测试:id name sal loc
1 sam 123 hyd
2 ram 234 teb
3 red 456 qer
现在我想在现有的mysql表中添加一个新列,并添加一个包含所有5列值的新行。新列的值 以前的行将为null。
表测试:id name sal loc zip
1 sam 123 hyd null
2 ram 234 teb null
3 red 456 qer null
4 Tim 567 CA 1245
当我们执行sqoop增量追加时,我只获取旧列的值,而新行也会显示,但仅显示旧列。
增量附加后的hive表。
id name sal loc
1 sam 123 hyd
2 ram 234 teb
3 red 456 qer
4 Tim 567 CA
现在我希望hive表与mysql表一样精确
我们可以在运行sqoop增量附加时更新hive表吗?如果是的话
我们怎么能这样做?
如果没有什么是我用例的最佳解决方案
答案 0 :(得分:0)
当您的ddl在步骤下改变使用时,没有州前向解决方案。
1你必须删除hive表并从hdfs的位置“hive.metastore.warehouse.dir / table”删除数据。
2您可以直接从Sqoop import下面的选项中再次创建表格。
--create-hive-table