随笔 - 402  文章 - 1 评论 - 20 阅读 - 113万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

SQOOP是用于对数据进行导入导出的。
(1)把MySQL、Oracle等数据库中的数据导入到HDFS、Hive、HBase中
(2)把HDFS、Hive、HBase中的数据导出到MySQL、Oracle等数据库中

1.安装SQOOP

1.1先将SQOOP文件放到/usr/local/下
1.2解压SQOOP
  执行命令:tar -zxvf sqoop-1.4.3.bin_*******
1.3改名字
  执行命令:mv sqoop-1.4.3.bin_******* sqoop
1.4设置环境变量
  执行命令:vi /etc/profile

export SQOOP_HOME=/usr/local/sqoop
export PATH=****:$SQOOP_HOME/bin:******
source /etc/profile

 

1.5操作

  执行命令:cd bin
                 sqoop help
1.6将mysql与SQOOP联系起来,需要将mysql的驱动复制到SQOOP的lib文件下
  执行命令:

cd ..    //退出bin
cp ../hive/lib/mysql-connection-java-5.1.10.jar ./lib/ cd lib/ ls


2.把数据从mysql导入到hdfs(默认是/user/<username>)中
  sqoop import --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table TBLS --fields-terminated-by '\t' --null-string '**' -m 1 --append --hive-import
  sqoop import --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table TBLS --fields-terminated-by '\t' --null-string '**' -m 1 --append --hive-import --check-column 'TBL_ID' --incremental append --last-value 6

3.把数据从hdfs导出到mysql中
  sqoop export --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table ids --fields-terminated-by '\t' --export-dir '/ids'

4.设置为作业,运行作业
  sqoop job --create myjob -- import --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table TBLS --fields-terminated-by '\t' --null-string '**' -m 1 --append --hive-import

5. 导入导出的事务是以Mapper任务为单位。

posted on   chamie  阅读(1814)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示