使用sqoop將oracle資料遷移到hive中

2021-07-09 03:42:30 字數 1501 閱讀 3727

技術專題:使用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...