Hive增量导入数据 - 新列

问题描述 投票:-1回答:2

如何使用Hivesql server将表导入Sqoop并处理是否添加了任何新列以及如何将新列数据加载到hive而不会丢失数据?

hive sqoop
2个回答
0
投票

使用此命令将数据直接导入配置单元:

sqoop import --connect "jdbc:sqlserver://11.11.111.11;databaseName=dswFICO" \ --username sqoop\ --password sqoop \ --driver com.microsoft.sqlserver.jdbc.SQLServerDriver \ --table KNA1 \ --split-by rowkey --hive-import -m 1

如果您不想在加载时丢失源数据副本,那么最好的方法是在现有的hdfs目录上创建外部表,或者您也可以复制源目录并创建一个应该指向的外部配置单元表。新的目录位置。


0
投票

您可以从sqoop import实现外部表,在那里您基本上将数据放入hdfs中的文件中,并且您必须在表的顶部构建外部表。

简单的sqoop导入示例,它将获取数据到hdfs但与hive无关。

$ sqoop import \
--connect jdbc:mysql://localhost/userdb \
--username root \
--table emp_add \
--m 1 \
--target-dir /queryresult

在/ queryresult路径中有数据后,只需在该位置的顶部构建一个外部表。

© www.soinside.com 2019 - 2024. All rights reserved.