sqoop導數到各個資料庫,可以套用

2021-10-11 03:58:58 字數 2001 閱讀 9884

一、測試資料庫連線

sqoop list-databases \

--connect jdbc:oracle

:thin

:@ip

:port

:資料庫 \

--username aml \

--password aml

二、**樣例

#!/bin/bash

while

read line

do hdfs dfs -rmr /user/hive/warehouse/aml.db/$line

echo

"********** 開始匯入表 $line ************"

sqoop import \

--connect jdbc:oracle:thin:@ip:port:資料庫 \

--username 使用者名稱 --password 密碼 \

--query "select * from "

$line

" where 1=1 and \$conditions" \

--hive-import --delete-target-dir --hive-overwrite \

--hive-database aml --hive-table $line \

--target-dir /user/hive/warehouse/aml.db/$line \

-null-string '\\n' -null-non-string '\\n' \

-m 1

done

< table_list.txt

--oracle 採集配置

sqoop import \ # 匯入模式 關係型資料庫-> hdfs(hive)

--driver oracle.jdbc.driver.oracledriver \ #驅動類

--connect jdbc:oracle:thin:@ip:port:資料庫 \ #源資料庫url

--username datacenter \ #賬號

--password sjzx_ljp0411 \ #密碼

--query "select * from $source_tab_name where \$conditions and $where_str " \ #要採集的資料集

--target-dir /tmp/sqoop/$/t_$_tmp \ #hdfs的臨時目錄 可自動建立

--delete-target-dir \ #資料採集前是否刪除目錄並新建

--hive-import \ #匯入hive

--hive-overwrite \ #資料寫入模式為覆蓋

--null-string '\\n' \ #替換為string型別的null為\\n

--null-non-string '\\n' \ #替換為非string型別的null為\\n

--fields-terminated-by "\t" \ #指定hive表的分隔符

--hive-drop-import-delims \ #去除列值中 \n \r 等特殊字元

--hive-table ods_$.t_$_tmp \ #指定hive表名

--hive-partition-key bus_date \ #插入為分割槽表時分區欄位

--hive-partition-value $ \ #分割槽的值

-m 1 #指定maptask數量 = 並行度

``

各個資料庫分頁

s ql server的分頁 select from select top pagesize from select top pagesize cureentpage from user table order by id asc as asystable order by id desc as b...

各個資料庫的預設埠

總結一下各個資料庫的預設埠 驅動 oracle.jdbc.driver.oracledriver url jdbc oracle thin port dbname 注 machine name 資料庫所在的機器的名稱,如果是本機則是127.0.0.1或者是localhost,如果是遠端連線,則是遠端...

各個資料庫的約束刪除

1 sql server中刪除約束的語句是 alter table 表名 drop constraint 約束名 sp helpconstraint 表名 找到資料表中的所有列的約束 2 oracle中刪除約束的語句 先找到表的約束名稱,執行 select from user constraints...