使用sqoop将数据从sql server导入配置单元

0wi1tuuw  于 2021-07-13  发布在  Hadoop
关注(0)|答案(1)|浏览(440)

我能够使用sqoop成功地将数据从sqlserver导入hdfs。然而,当它试图链接到Hive我得到一个错误。我不确定我是否正确理解了错误

sudo -u hdfs sqoop import  \
-Dorg.apache.sqoop.splitter.allow_text_splitter=true  \
--connect "jdbc:sqlserver://XX.XX.X.X:1433;instanceName=data-engr-sql-svr;  databaseName=AdventureWorks2019"  \
--username sa  \
--password XXXXXXXX  \
--driver com.microsoft.sqlserver.jdbc.SQLServerDriver  \
--warehouse-dir "/user/hive/warehouse/AdventureWorks2019.db"  \
--hive-import  \
--create-hive-table  \
--fields-terminated-by ',' \
--hive-table AdventureWorks2019.Production.TransactionHistory  \
--table Production.TransactionHistory  \
--split-by TransactionID  \
-- --schema Production

我不知道如何处理模式,大部分教程都使用没有正确模式的虚拟数据库,这是没有帮助的。
错误
21/03/31 08:52:47 info conf.hiveconf:使用为日志id传入的默认值:95e2b831-cfe5-4108-be0f-0df1d9a8797e 21/03/31 08:52:47 info session.sessionstate:将线程名称更新为95e2b831-cfe5-4108-be0f-0df1d9a8797e main 21/03/31 08:52:47 info conf.hiveconf:使用为日志id传入的默认值:95e2b831-cfe5-4108-be0f-0df1d9a8797e 21/03/31 08:52:47 info ql.driver:编译命令(queryid=hdfs\u 20210331085247\u 050638e8-593a-4d01-8020-c40b7db8e66a):如果不存在,则创建表 AdventureWorks2019.Production.TransactionHistory ( TransactionID 内景, ProductID 内景, ReferenceOrderID 内景, ReferenceOrderLineID 内景, TransactionDate 字符串, TransactionType 字符串, Quantity 内景, ActualCost 加倍, ModifiedDate 字符串)注解'imported by sqoop on 2021/03/31 08:52:45'行格式分隔字段,以'\054'行结尾,以'\012'结尾,存储为textfile 21/03/31 08:52:49 info hive.metastore:hms client filtering已启用。21/03/31 08:52:49 info hive.metastore:正在尝试使用uri连接到metastorethrift://cnt7-naya-cdh63:9083 21/03/31 08:52:49 info hive.metastore:已打开到metastore的连接,当前连接:1 21/03/31 08:52:49 info hive.metastore:已连接到metastore。21/03/31 08:52:49 info parse.semanticanalyzer:启动语义分析失败:semanticexception[error 10255]:表名adventureworks2019.production.transactionhistory无效21/03/31 08:52:49 error ql.driver:失败:semanticexception[error 10255]:表名adventureworks2019.production.transactionhistory无效

zte4gxcn

zte4gxcn1#

在配置单元中的数据库中没有模式这样的东西。 Database 以及 schema 意思相同,可以互换使用。
所以,这个bug正在使用中 database.schema.table . 使用 database.table 在Hive里。
阅读文档:create/drop/alter/usedatabase

相关问题