sqoop使用例子,sqoop例子

來源:互聯網
上載者:User

sqoop使用例子,sqoop例子

簡介: sqoop是工具,一個可以把ORACLE、MYSQL中的資料匯入到HDFS、HIVE、HBASE中(反過來也可以)的工具。下面是一些使用的例子。留下做個參考:

#從Mysql中抽取資料到HDFS.問題:檔案太多,全他媽是小檔案;目標目錄如果已經存在會報錯
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table st --target-dir /user/test/sqoop
#向已經存在HDFS目錄追加資料
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table st --append --target-dir /user/test/sqoop
#name 是string類型的,如果是null,匯入的時候用zhixiang替換
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table st --null-string 'zhixiang' --append --target-dir /user/test/sqoop
#age是int類型,如果是null,匯入的時候用-1替換
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table st --null-string 'zhixiang' --null-non-string -1 --append --target-dir /user/test/sqoop
#僅僅匯入id,name兩個欄位
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table st --columns id,name  --null-string 'zhixiang' --append --target-dir /user/test/sqoop
#欄位間以|分割
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table st --columns id,name --fields-terminated-by '|' --null-string 'zhixiang' --append --target-dir /user/test/sqoop
#只匯入name不為null的id,name
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table st --columns id,name --where "name is not null" --fields-terminated-by '|' --null-string 'zhixiang' --append --target-dir /user/test/sqoop
#使用--query代替--table --cloumns --where
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --query "select id,name from st where id > 10 and \$CONDITIONS" --split-by id  --fields-terminated-by '|' --null-string 'zhixiang' --append --target-dir /user/test/sqoop
#將所有資料放到一個檔案中(東東那麼少)
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --query "select id,name from st where id > 10 and \$CONDITIONS" --split-by id  --fields-terminated-by '|' --null-string 'zhixiang' --append --target-dir /user/test/sqoop -m 1
#從Mysql中抽取資料到Hbase
sqoop import --connect jdbc:mysql://10.10.244.137/test --username root --password test --table mt --hbase-create-table --hbase-table mt --column-family cf --hbase-row-key year,month,day,sta_id
#查看Mysql有哪些資料庫
sqoop list-databases --connect jdbc:mysql://10.10.244.137/ --username root --password test
#查看Mysql資料庫mysql中有哪些表
sqoop list-tables --connect jdbc:mysql://10.10.244.137/mysql --username root --password test
#查看ORACLE資料庫中有哪些資料庫
sqoop list-databases --connect jdbc:oracle:thin:@10.10.244.136:1521:wilson --username system --password 123456
#將Oracle中system.ost表匯入HDFS
sqoop import --connect jdbc:oracle:thin:@10.10.244.136:1521:wilson --username system --password 123456 --table SYSTEM.OST  --delete-target-dir --target-dir /user/test/sqoop
#只匯入到一個檔案中
sqoop import --connect jdbc:oracle:thin:@10.10.244.136:1521:wilson --username system --password 123456 --table SYSTEM.OST  --delete-target-dir --target-dir /user/test/sqoop -m 1
#將ORACLE中資料匯入到Hbase
sqoop import --connect jdbc:oracle:thin:@10.10.244.136:1521:wilson --username system --password 123456 --table SYSTEM.OST  --hbase-create-table --hbase-table ost --column-family cf --hbase-row-key ID
#將oracle中資料匯入到hbase,用多個欄位做row-key
sqoop import --connect jdbc:oracle:thin:@10.10.244.136:1521:wilson --username system --password 123456 --table SYSTEM.OMT  --hbase-create-table --hbase-table omt  --column-family cf --hbase-row-key YEAR,MONTH,DAY,STA_ID -m 1


sqoop官方使用者手冊:

http://sqoop.apache.org/docs/1.4.5/SqoopUserGuide.html#_syntax


助 apache 的sqoop怎從關聯式資料庫匯出資料到hadoop中與反過來,最好可以發個demo,萬分感謝,現在急用!!感謝

1,rmdbs to hadoop 很簡單,使用一條命令
sqoop import --jar-file (你的jar包) --class-name (classname) --connect (mysql執行個體) --username (使用者名稱) --password (密碼) -table (表名) -hbase-table (hbase表名) -column-family (familyColumn) -hbase-row-key (hbase rowkey) --hbase-create-table
2,hadoop to rmdbs也很簡單,做一個mapreduce,特別注意map的input參數是
ImmutableBytesWritable,format 一下資料,然後將format後的資料通過jdbc 填充到rmdbs,不過要控制好速度,否則rmdbs吃不消。
可以參考例子:
wenku.baidu.com/...0.html
 
迴圈使用的例子有什

超市的購物袋,罐頭瓶裝茶
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.