Sqoop导入到Hive,Hive使用 HA

Sqoop写入Hive卡在连接Hive的JDBC上不执行

Sqoop访问 启用 HA模式的Hive

找到Hive的安装根目录:$HIVE_HOME/conf

创建一个新的配置文件:beeline-hs2-connection.xml

复制代码
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
 <name>beeline.hs2.connection.user</name>
 <value>hive</value>
</property>
<property>
 <name>beeline.hs2.connection.password</name>
 <value>hive</value>
</property>
</configuration>

beeline.hs2.connection.user:指定Hive访问的用户名

beeline.hs2.connection.password:当前用户名对应的访问密码

重新执行后发现会有新的报错信息:

报错信息

复制代码
23/11/02 13:57:23 INFO hive.HiveImport: Error: Error while compiling statement: FAILED: SemanticException Unable to load data to destination table. Error: The file that you are trying to load does not match the file format of the destination table. (state=42000,code=40000)
23/11/02 13:57:23 INFO hive.HiveImport: Closing: 0: jdbc:hive2://hdp3.node1:2181,hdp3.node2:2181,hdp3.node3:2181/default;password=hive;serviceDiscoveryMode=zooKeeper;user=hive;zooKeeperNamespace=hiveserver2
23/11/02 13:57:23 ERROR tool.ImportTool: Import failed: java.io.IOException: Hive exited with status 2
	at org.apache.sqoop.hive.HiveImport.executeExternalHiveScript(HiveImport.java:253)
	at org.apache.sqoop.hive.HiveImport.importTable(HiveImport.java:206)
	at org.apache.sqoop.hive.HiveImport.importTable(HiveImport.java:273)
	at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:564)
	at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:655)
	at org.apache.sqoop.Sqoop.run(Sqoop.java:151)
	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:82)
	at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:187)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:241)
	at org.apache.sqoop.Sqoop.runTool(Sqoop.java:250)
	at org.apache.sqoop.Sqoop.main(Sqoop.java:259)

解决办法:

1-新建一个存储格式为textfile的临时表

复制代码
create table hive_db.hive_01( id string comment 'Id') 
row format delimited fields terminated by '\001' 
stored as textFile;

2-将数据导入临时表中(Sqoop执行的Import写入到临时表中)

3-通过查询插入的方式将临时表数据导入目标表

复制代码
insert into hive_db.hive_table select * from hive_db.hive_01
相关推荐
二十六画生的博客7 小时前
每个subtask都提交一份快照到hdfs,会把10个小的快照合并成一个大的吗?谁来合并?
大数据·hadoop·hdfs·flink
隐于花海,等待花开7 小时前
41.ABS / POW / SQRT 函数深度解析
大数据·hive
千月落9 小时前
HDFS数据迁移
大数据·hadoop·hdfs
隐于花海,等待花开1 天前
40.RAND 函数深度解析
hive·hadoop
孤雪心殇2 天前
快速上手数仓基础知识
数据仓库·hive·spark
隐于花海,等待花开2 天前
39.ROUND / FLOOR / CEIL 函数深度解析
hive·hadoop
看海的四叔3 天前
【SQL】SQL-管好你的字符串
大数据·数据库·hive·sql·数据分析·字符串
坚持就完事了3 天前
YARN资源管理器
大数据·linux·hadoop·学习
渣渣盟3 天前
大数据技术栈全景图:从零到一的入门路线(深度实战版)
大数据·hadoop·python·flink·spark
WL_Aurora3 天前
Hadoop 通过 Web 界面上传文件到 HDFS 失败解决方案
hadoop·hdfs