前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在TBDS部署sqoop组件及抽取数据至hive的使用方法

在TBDS部署sqoop组件及抽取数据至hive的使用方法

原创
作者头像
袁宋
修改2019-07-02 17:18:09
1.9K0
修改2019-07-02 17:18:09
举报
文章被收录于专栏:大数据平台TBDS大数据平台TBDS

导语:本身TBDS平台不提供sqoop组件,若用户想在TBDS平台上使用sqoop抽取外部数据导入至TBDS平台,需要单独部署sqoop组件。

一、TBDS安装sqoop组件

1.首先下载sqoop安装包

链接:https://share.weiyun.com/5zgpbZi 密码:danme3

2.从TBDS集群中选择一台机器安装sqoop工具,一般选择Portal机器

安装方式直接rpm -ivh sqoop-xxx.rpm

3.把/etc/sqoop/conf/下的sqoop-env-templete.sh复制一个sqoop-env.sh,将脚本里面的hadoop及mr路径改为TBDS集群的/usr/hdp/2.2.0.0-2041/hadoop/,按照截图配置参数

4.配置完毕以后即可使用sqoop命令

注:若其他节点也想使用sqoop命令,则按照相同步骤操作配置即可

二、sqoop抽取外部数据导入TBDS的hive表

因为访问TBDS的hive表必须要认证才能访问,所以与开源导入的方法稍有不同,需要先做认证配置才能使用。

1.在安装了sqoop以后,在对应执行sqoop命令的机器上执行以下步骤

(1)vim /usr/jdk64/jdk1.8.0_111/jre/lib/security/java.policy

增加 permission javax.management.MBeanTrustPermission "register";

(2)cp -a /usr/hdp/2.2.0.0-2041/hive/lib/libthrift-0.9.3.jar /usr/hdp/2.2.0.0-2041/hadoop/share/hadoop/common/lib/

注意必须将原来目录下的/usr/hdp/2.2.0.0-2041/hadoop/share/hadoop/common/lib/libthrift-0.9.2.jar移走

(3)执行sqoop命令前,需要export hive的secureid和securekey(就是先做认证)

示例:

代码语言:javascript
复制
 # hive认证
export hadoop_security_authentication_tbds_secureid=tRUGx1oBzXzkC5Pf5pv4MQGe7a9sUULykU60
export hadoop_security_authentication_tbds_securekey=ePyUBLfHPeyUCLp5hKcJvmNK1iSvqonJ
export hadoop_security_authentication_tbds_username=hive

sqoop import 
--connect jdbc:mysql://x.x.x.x:3306/easy_test 
--username xxx --password xxx
--table DIM_PROJECT 
-m 1
--hive-import 
--target-dir temp 
--hive-database xxx 
--hive-table xxx

注:
不加--hive-databases表示默认将数据导入到hive的default库
--target-dir 若目录已存在会报错

sqoop import的参数选项如下

选项

含义说明

--append

将数据追加到HDFS上一个已存在的数据集上

--as-avrodatafile

将数据导入到Avro数据文件

--as-sequencefile

将数据导入到SequenceFile

--as-textfile

将数据导入到普通文本文件(默认)

--boundary-query <statement>

边界查询,用于创建分片(InputSplit)

--columns <col,col,col…>

从表中导出指定的一组列的数据

--delete-target-dir

如果指定目录存在,则先删除掉

--direct

使用直接导入模式(优化导入速度)

--direct-split-size <n>

分割输入stream的字节大小(在直接导入模式下)

--fetch-size <n>

从数据库中批量读取记录数

--inline-lob-limit <n>

设置内联的LOB对象的大小

-m,--num-mappers <n>

使用n个map任务并行导入数据

-e,--query <statement>

导入的查询语句

--split-by <column-name>

指定按照哪个列去分割数据

--table <table-name>

导入的源表表名

--target-dir <dir>

导入HDFS的目标路径

--warehouse-dir <dir>

HDFS存放表的根路径

--where <where clause>

指定导出时所使用的查询条件

-z,--compress

启用压缩

--compression-codec <c>

指定Hadoop的codec方式(默认gzip)

--null-string <null-string>

如果指定列为字符串类型,使用指定字符串替换值为null的该类列的值

--null-non-string <null-string>

如果指定列为非字符串类型,使用指定字符串替换值为null的该类列的值

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、TBDS安装sqoop组件
  • 二、sqoop抽取外部数据导入TBDS的hive表
相关产品与服务
大数据处理套件 TBDS
腾讯大数据处理套件(Tencent Big Data Suite,TBDS)依托腾讯多年海量数据处理经验,基于云原生技术和泛 Hadoop 生态开源技术提供的可靠、安全、易用的大数据处理平台。 TBDS可在公有云、私有云、非云化环境,根据不同数据处理需求组合合适的存算分析组件,包括 Hive、Spark、HBase、Flink、Presto、Iceberg、Elasticsearch、StarRocks 等,以快速构建企业级数据湖仓。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com