技術專題:使用sqoop將oracle資料遷移到hive中
目標:hive分割槽表(時間分割槽表)每個分割槽表中存放從oracle抽過來的資料,用來資料分析
技術分析: 1、將要抽取的oracle表放到一張臨時表中,(抽取這張表將其放到抽放到配置檔案中,供抽取引數使用) 2、使用sqoop將oracle中的表抽取成hdfs檔案。(注意:生成的檔案目錄應該和hive外表指定的目錄對應,目錄同時應將hive分割槽考慮進去) 3、使用hive的外表(分割槽表)將指定目錄的檔案載入到hive中。
技術實現: 1、抽取oracle表到hdfs檔案。sqoop import --connect jdbc:oracle:thin:@10.10.10.10:1521:jzfpdb -username jzfp -password jzfp --table tb_fpxm_cs_source --fields-terminated-by "\t" --lines-terminated-by "\n" --as-textfile --delete-target-dir --target-dir /tmp/data_back/tb_fpxm_cs_source ;
2、將抽取的資料載入到本地檔案中
hadoop fs -cat /tmp/data_back/tb_fpxm_cs_source/* >pzb.txt;
3、備份指令碼
#/bin/bash
printf "*************************************\n";
time=`date -d next-day +%y%m%d`
#time=`date +%y%m%d`
for name in `cat /tmp/wcj/pzb.txt | awk ''`
do echo $name;
echo $time;
echo /tmp/data_back/$name/$time;
#hadoop fs -mkdir /tmp/data_back/$name/$time;
sqoop import --connect jdbc:oracle:thin:@10.10.10.10:1521:jzfpdb -username jzfp -password jzfp --table $name --fields-terminated-by "\t" --lines-terminated-by "\n" --split-by "fpxm_key" --as-textfile --delete-target-dir --target-dir /tmp/data_back/$name/$time ;
echo 1111111;
done
4、定時任務
crontab -e
後續晚善
sqoop將oracle匯入到hbase經驗之談
之前公司有個專案,通過sqoop,將oracle的資料匯入到hbase。真個過程出現過很多問題,現在我將我匯入的過程跟遇到的問題和解決方法寫下來,希望能幫助大家 先測試sqoop是否能連線到oracle sqoop list tables connect jdbc oracle thin ip 15...
使用sqoop將mysql資料匯入hbase
下表 1 通過hbase shell 開啟hbase。2 建立乙個hbase表 3 將so表的資料匯入到hbase中。opt檔案 connect 資料庫 username 資料庫使用者名稱 password 資料庫密碼 table 需要sqoop的表 columns 表中的列 hbase table...
使用sqoop將mysql資料匯入到hive中
首先準備工具環境 hadoop2.7 mysql5.7 sqoop1.4 hive3.1 準備一張資料庫表 接下來就可以操作了。一 將mysql資料匯入到hdfs 首先我測試將zhaopin表中的前100條資料匯出來,只要id jobname salarylevel三個字段。再hdfs上建立目錄 h...