我们正在使用Sqoop(1.4.6)将数据库从MySQL导入Hive。一切正常,除非在源数据库中更新表模式(主要是添加列)。修改不会最终出现在Hive中。似乎Hive架构只创建一次,并且在每次导入时都未验证。行加载正常,但当然缺少新列。我们可以通过首先删除数据库来强制在Hive中重新创建模式来解决这个问题,但我的问题是,有没有办法直接从Sqoop执行此操作?
我们的导入脚本类似于:
sqoop import-all-tables
--compress
--compression-codec=snappy
--connect "jdbc:mysql://HOST:PORT/DB"
--username USER
--password PASS
--hive-import
--hive-overwrite
--hive-database DB
--as-textfile
答案 0 :(得分:0)
你可以使用hcatalog表而不是hive,它会起作用。