sqoop数据导入导出

mysql数据导入导出到hdfs

 
 
  1. mysql导入到hdfs bin/sqoop help import 查看帮助
  2. bin/sqoop import \
  3. --connect jdbc:mysql://hadoop-senior0.ibeifeng.com:3306/study \
  4. --username root \
  5. --password 123456 \
  6. --table my_user \
  7. --target-dir /output1 \
  8. --query 'select id, account from my_user where $CONDITIONS' \
  9. --num-mappers 1 \
  10. --as-parquetfile
  11. 如果没有指定路径会默认存储在/user/beifeng/下面即是用户主目录
  12. ==============================================================
  13. hdfs导出到mysql bin/sqoop help export help查看帮助
  14. bin/sqoop export \
  15. --connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test \
  16. --username root \
  17. --password 123456 \
  18. --table my_user \
  19. --export-dir /user/beifeng/sqoop/exp/user/ \
  20. --num-mappers 1
  21. 导出的目录下的文件要以逗号分隔,因为mysql表默认是以逗号分隔的,或者加上一个参数指定输出分隔符,就会以指定的分隔符来区分不同的字段;
  22. 导出到mysql中的表是已存在的

mysql数据导入导出到hive

 
 
  1. bin/sqoop import \
  2. --connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test \
  3. --username root \
  4. --password 123456 \
  5. --table my_user \
  6. --fields-terminated-by '\t' \
  7. --delete-target-dir \
  8. --num-mappers 1 \
  9. --hive-import \
  10. --hive-database default \
  11. --hive-table user_hive
  12. 实质上是首先导入数据到hdfs上,然后用一个load语句加载数据到hive
  13. ===============================================================
  14. bin/sqoop export \
  15. --connect jdbc:mysql://hadoop-senior.ibeifeng.com:3306/test \
  16. --username root \
  17. --password 123456 \
  18. --table my_user2 \
  19. --export-dir /user/hive/warehouse/user_hive \
  20. --num-mappers 1 \
  21. --input-fields-terminated-by '\t'
Sqoop是一个用于在Hadoop和关系型数据库之间进行数据传输的工具。它可以将数据从关系型数据导入到Hadoop集群中,也可以将数据从Hadoop集群导出到关系型数据库中。下面是一个Sqoop数据导入导出的shell脚本示例: 1. 数据导入脚本: ``` sqoop import \ --connect jdbc:mysql://localhost/mydatabase \ --username root \ --password password \ --table mytable \ --target-dir /user/hadoop/mydata \ --m 1 ``` 这个脚本将从MySQL数据库中的mytable表导入数据,并将数据存储在Hadoop集群中的/user/hadoop/mydata目录下。其中,--connect参数定了数据库连接URL,--username和--password参数定了数据库的用户名和密码,--table参数定了要导入的表名,--target-dir参数定了数据存储的目录,--m参数定了并行度。 2. 数据导出脚本: ``` sqoop export \ --connect jdbc:mysql://localhost/mydatabase \ --username root \ --password password \ --table mytable \ --export-dir /user/hadoop/mydata \ --input-fields-terminated-by '\t' \ --input-lines-terminated-by '\n' ``` 这个脚本将从Hadoop集群中的/user/hadoop/mydata目录中读取数据,并将数据导出到MySQL数据库的mytable表中。其中,--connect参数定了数据库连接URL,--username和--password参数定了数据库的用户名和密码,--table参数定了要导出的表名,--export-dir参数定了数据读取的目录,--input-fields-terminated-by和--input-lines-terminated-by参数定了输入数据的分隔符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值