生活随笔
收集整理的這篇文章主要介紹了
sqoop编写
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? Sqoop中都以hdfs為主體:hdfs(數據經過處理)通過sqoop指令導出到mysql。
? mysql(數據經過沉淀,需要保存)通過sqoop指令導入到hdfs
sqoop-import(導入)
在Sqoop中,import“導入”概念指:從非大數據集群(RDBMS)向大數據集群(HDFS,HIVE,HBASE)中傳輸數據
bin/sqoop
import \
--driver com.mysql.jdbc.Driver
\
--connect jdbc:mysql://hadoop10:3306/test1?characterEncoding
=UTF-8
\
--username root
\
--password
123456 \
--table t_user
\
--num-mappers
4 \
--fields-terminated-by
'\t' \
--target-dir /mysql/t_user
\
--delete-target-dir
sqoop
import \
--driver com.mysql.jdbc.Driver
\
--connect jdbc:mysql://hadoop10:3306/test1?characterEncoding
=UTF-8
\
--username root
\
--password
123456 \
--table t_user
\
--num-mappers
4 \
--fields-terminated-by
'\t' \
--target-dir /mysql/t_user
\
--delete-target-dir
sqoop
import \
--driver com.mysql.jdbc.Driver
\
--connect jdbc:mysql://hadoop10:3306/test1?characterEncoding
=UTF-8
\
--username root
\
--password
123456 \
--table t_user
\
--columns
"id,name" \
--where
"id > 2" \
--target-dir /mysql/t_user
\
--delete-target-dir
\
--num-mappers
1 \
--fields-terminated-by
'\t'--fields-terminated-by
'\t' \
--query
'select t1.id,t1.name,t1.age,t2.sex_name from t_user t1 left join dim_sex t2 on t1.sex = t2.sex_id where $CONDITIONS and t1.id > 4 LIMIT 3' \
--target-dir /mysql/t_user
\--fields-terminated-by
',' \
--query
'select id,name from t_user where $CONDITIONS ' \
--target-dir /user/hive/warehouse/test_hive.db/test_sqoop
\
--delete-target-dir
--fields-terminated-by
"\t" \
--hive-overwrite
\
--hive-database test_hive
\
--hive-table hive_user
sqoop-export(導出)
在Sqoop中,export“導出”概念指:從大數據集群(HDFS,HIVE,HBASE)向非大數據集群(RDBMS關系型數據庫)中傳輸數據
- 示例:HDFS|hive —— RDBMS(mysql)
bin/sqoop
export \
--connect jdbc:mysql://hadoop10:3306/test1?characterEncoding
=UTF-8
\
--username root
\
--password
123456 \
--table t_user2
\
--update-key
id \
--update-mode allowinsert
\
--export-dir /sqoop
\
--input-fields-terminated-by
' '
sqoop
export \
--connect jdbc:mysql://hadoop10:3306/test1?characterEncoding
=UTF-8
\
--username root
\
--password
123456 \
--table t_user2
\
--update-key
id \
--update-mode allowinsert
\
--export-dir /sqoop
\
--input-fields-terminated-by
' '
Mysql中如果表不存在,不會自動創建
總結
以上是生活随笔為你收集整理的sqoop编写的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。