栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hcatalog配置以及sqoop集成使用

hcatalog配置以及sqoop集成使用

hcatalog配置以及sqoop集成使用

1、环境变量配置

vim ~/.bashrc

export HCAT_HOME=/usr/hive/hcatalog
export PATH=$PATH:$HCAT_HOME/bin

2、查看hive版本下载对应的hive-hcatalog放在hcatalog目录下

查看hive版本

hive --version

Hive 2.3.6

我的hive版本是2.3.6,则在maven库下载对应的jar包

https://mvnrepository.com/artifact/org.apache.hive.hcatalog/hive-hcatalog-core/2.3.6

放在如下目录

/usr/hive/hcatalog/share/hcatalog/hive-hcatalog-core-2.3.6.jar

3、sqoop使用hcatalog进行导数

sqoop export 
-Dmapreduce.job.queuename=test 
-Dmapreduce.job.max.split.locations=2000 
--mapreduce-job-name task_name 
--connect jdbc:mysql://ip:3306/test 
--username user_name 
--password paasword 
--table mysql_tablename 
--columns name,sex,year,date 
--hcatalog-database default 
--hcatalog-table hive_table_name 
--hcatalog-partition-keys date 
--hcatalog-partition-values 20210101
--input-null-string null 
--input-null-non-string '\N' 
-m 3

参数解析:

-Dmapreduce.job.queuename 任务运行队列

-Dmapreduce.job.max.split.locations 小文件合并大小

--mapreduce-job-name 任务运行名

--connect jdbc:mysql://ip:3306/test mysql链接url

--username mysql用户名

--password mysql用户密码

--table mysql表名

--columns 需要导出的字段列表

--hcatalog-database hive表所在库

--hcatalog-table hive表名

--hcatalog-partition-keys hive表分区字段

--hcatalog-partition-values hive表分区字段值

--input-null-string null 字符串空值转换

--input-null-non-string '\N' 非字符串空值转换

-m 3 任务并发

4、遇到的问题:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hive/hcatalog/mapreduce/HCatOutputFormat

at org.apache.sqoop.tool.baseSqoopTool.validateHCatalogOptions(baseSqoopTool.java:1655)

at org.apache.sqoop.tool.ExportTool.validateOptions(ExportTool.java:381)

at org.apache.sqoop.Sqoop.run(Sqoop.java:137)

at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)

at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)

at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)

at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)

at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

Caused by: java.lang.ClassNotFoundException: org.apache.hive.hcatalog.mapreduce.HCatOutputFormat

at java.net.URLClassLoader.findClass(URLClassLoader.java:382)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 8 more

原因:

因为hive没有集成hcatalog相关的jar包,需要自行下载,按照第2步下载好放在hcatalog对应的目录下就可以了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/707346.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号