当前位置: 首页 > article >正文

大数据基础设施搭建 - Sqoop

文章目录

  • 一、上传压缩包
  • 二、解压压缩包
  • 三、配置环境变量(TODO)
  • 四、修改配置文件
  • 五、拷贝MySQL驱动
  • 六、测试能否连接数据库
  • 七、import MySQL to HDFS

一、上传压缩包

官网:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/
简介:Hadoop和关系数据库之间传输数据
部署节点:在Hadoop集群的任意节点部署都可以,因为Hadoop配置文件中指出了NameNode、ResourceManager在哪台节点上,并且配置文件分发到了所有节点上!??

二、解压压缩包

[hadoop@hadoop102 software]$ tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/

三、配置环境变量(TODO)

sudo vim /etc/profile.d/my_env.sh

新增内容:

#SQOOP_HOME
export SQOOP_HOME=/opt/module/sqoop-1.4.7
export PATH=$PATH:$SQOOP_HOME/bin

四、修改配置文件

[hadoop@hadoop102 sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ cd conf/
[hadoop@hadoop102 conf]$ mv sqoop-env-template.sh sqoop-env.sh
[hadoop@hadoop102 conf]$ vim sqoop-env.sh

新增内容:

#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/module/hadoop-3.1.3

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/module/hadoop-3.1.3

五、拷贝MySQL驱动

[hadoop@hadoop102 software]$ cp mysql-connector-java-5.1.37.jar /opt/module/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/

六、测试能否连接数据库

[hadoop@hadoop102 lib]$ cd /opt/module/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/
[hadoop@hadoop102 sqoop-1.4.6.bin__hadoop-2.0.4-alpha]$ bin/sqoop list-databases --connect jdbc:mysql://mall:3306/ --username root --password 123456

七、import MySQL to HDFS

需求:将MySQL中gmall库中的sku_info表导入到HDFS中。
–fields-terminated-by:Hdfs文本文件中,字段分隔符????
–compress:启动压缩(默认gzip),压缩保存到HDFS的文件。
–compression-codec:指定压缩格式。
–null-string:如果指定列为字符串类型,使用指定字符串替换值为null的该类列的值。
–null-non-string:如果指定列为非字符串类型,使用指定字符串替换值为null的该类列的值。
\N:hive中的null string格式。

注意:Sqoop本质是执行一个MR程序进行数据导入导出,所以需要向Yarn提交任务,即需要连接ResourceManager,所以ResourceManager所在机器需要向Sqoop所在机器开放8088端口。

/opt/module/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/bin/sqoop import \
--connect jdbc:mysql://mall:3306/gmall \
--username root \
--password 123456 \
--target-dir /warehouse/db/gmall/sku_info/2023-11-17 \
--delete-target-dir \
--query "select id,spu_id,price,sku_name,sku_desc,weight,tm_id,category3_id,is_sale,create_time from sku_info where \$CONDITIONS" \
--num-mappers 1 \
--fields-terminated-by '\t' \
--compress \
--compression-codec gzip \
--null-string '\\N' \
--null-non-string '\\N'

http://www.kler.cn/news/150082.html

相关文章:

  • AI搜索相关性在网站和APP上的应用
  • 致远M3 反序列化RCE漏洞复现(XVE-2023-24878)
  • C++算法入门练习——数据流第K大元素
  • JavaWeb | JSP访问数据库、JDBC操作
  • 学习计划计划执行记录
  • 【数据结构】——解决topk问题
  • 存储服务器特征是什么
  • 零基础学Python的第四天||字符串(1)
  • 力扣:184. 部门工资最高的员工(Python3)
  • python getattr() setattr() hasattr() delattr()内置函数详解
  • 智慧博物馆视频监控系统设计,可视化AI智能分析技术助力博物馆多维度监管
  • SparkContext初始化
  • 错误 LNK2001 无法解析的外部符号 __imp__CrtDbgReport
  • 短 URL 生成器设计:百亿短 URL 怎样做到无冲突?
  • 2023.11.28 MyBatis 中 #{} 和 ${} 的区别
  • 【ZEDSLAM】Ubuntu18.04系统ZED 2i双目相机SDK安装、联合标定、SLAM测试
  • 离散化笔记
  • 在与客户打交道过程中为什么客户不信任你?
  • 阿里云语雀频繁崩溃,有什么文档管理工具是比较稳定的?
  • 在虚拟机搭建nignx,和使用本地访问nginx的情况
  • viple模拟器使用(三):unity模拟器中实现沿右墙迷宫算法
  • C/C++ Zlib实现文件压缩与解压
  • 集合的使用
  • leetcode:随机链表的复制
  • 【Python】获取ip
  • NTT 的各类优化:Harvey、PtNTT,Intel AVX2、ARM Neon、GPGPU
  • oracle的sysaux使用量排查sql
  • 【ChatGLM3-6B】Docker下部署及微调
  • 6.golang函数
  • C语言变量和常量