在公司集群使用 sqoop 最简单教程

分享 leeston9 ⋅ 于 2020-07-07 09:23:19 ⋅ 最后回复由 青牛 2020-07-07 11:51:22 ⋅ 3206 阅读

问题: 如果我们想使用公司集群来操作sqoop,会发现一个很大的坑,公司集群的sqoop只是安装,根本没配置(如图)
file
那我还想使用,如何解决?这时候我们需要在自己家目录下安装 sqoop (没有安装包可私我)
file
tar命令安装完成之后进入 conf 目录下将sqoop-env-template.sh改成sqoop-env.sh增加几行如下几行环境变量输出配置,以便于让sqoop 找到我们数据交换时用到的软件的具体位置
file
由于sqoop 需要用到mysql包,所以需要添加mysql驱动包到sqoop的lib 目录下,我们可以直接从hive lib 去拿
cp /usr/local/hive/lib/mysql-connector-java-5.1.35.jar ~/sqoop/lib/

至此大功告成!我们可以使用啦,不过需要配置环境变量来指向我们自己的sqoop 而不是公司的sqoop

  1. 临时环境变量配置
    导出你自己的sqoop 环境变量,一个session内有效
    export sqoop="/home/lijun21/sqoop/bin"
    再使用如下代码测试将mysql 数据上传到hdfs
    sqoop import \
    --connect jdbc:mysql://192.168.88.195:3306/hainiutest \
    --username hainiu \
    --password 12345678 \
    --table lijun21_sqoop \
    --target-dir /user/lijun21/lijun21_sqoop3 \
    --delete-target-dir \
    --num-mappers 1 \
    --fields-terminated-by "\t"

    它实际上就是跑的mapreduce 任务
    file
    file

  2. 在本地配置永久环境变量:
    在自己家目录下使用命令: vim .bash_profile 编辑自己环境变量
    然后将环境变量输出
    file
    全部完成! 别忘了 source .bash_profile 来更新环境变量哦!
    测试: 将mysql数据 上传到 hbase
    sqoop import \
    --connect jdbc:mysql://192.168.88.195:3306/hainiutest \
    --username hainiu \
    --password 12345678 \
    --table c21_lj_sqoop_test \
    --hbase-table lijun21:table3 \
    --hbase-row-key id \
    --column-family cf1 

    file

Last But Not Least : 关于 sqoop的用法,网上一大推,非常简单,这里就不再给出教程,谢谢。
有问题请 @ 21班李军

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海汼部落-leeston9,http://hainiubl.com/topics/75186
本帖已被设为精华帖!
本帖由 青牛 于 4年前 加精
回复数量: 1
  • 青牛 海汼部落创始人,80后程序员一枚,曾就职于金山,喜欢倒腾技术做产品
    2020-07-07 11:51:22

    动手能力不错,linux学的扎实,有自己解决问题的思路。我决定给你个大🧧

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter