程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> hive同步oracle-hivi怎麼同步到Oracle

hive同步oracle-hivi怎麼同步到Oracle

編輯:編程綜合問答
hivi怎麼同步到Oracle

最近用到hadoop的HIVE,不知道怎麼和ORACLE同步啊,誰能給個簡單的例子

最佳回答:


hive庫是基於hadoop的數據倉庫工具。

可將數據文件格式化為一個數據表,並對外提供一個sql查詢。

但是hive庫不支持 insert into。。。values()

             不支持 delete....

             不支持 update....

只能使用insert overwrite table *** select * from **

         create table ** select **

除此之外,sqoop工具,提供了從多種數據庫與hive庫間的同步功能,其中以oracle同步數據到hive為例。

sqoop import -D oracle.sessionTimeZone=Asia/Shanghai \ #不多說,一看便知,格式化時區
--connect jdbc:oracle:thin:@127.0.0.1:1521:ss \ #數據的基本鏈接
--username root \
--password root \
--table t_table \ #oracle中需要被同步的表格
--columns KEY,KPV,KTIME \ #假設oracle表的字段很多很多。此處是需要同步的字段。注意是大寫的!!!!
--where "TRUNC(KTIME)>=TRUNC(ADD_MONTHS(SYSDATE,-1),'month') AND TRUNC(KTIME)<=TRUNC(LAST_DAY(ADD_MONTHS(SYSDATE,-1)))" \ #假設很多很多數據,我只要上個月的數據。
--warehouse-dir /hadoop/zc/t_table \ #sqoop同步到hive中中間數據存儲的位置。
--hive-import \ #同步到hive裡面
-m 1 \ #map的個數
--split-by KEY \ #根據KEY字段分區
--hive-table hive.table \ #同步到hive庫的table表中
--hive-overwrite #如果有數據的話,全部覆蓋

其中oracle的同步需要注意時區的格式化。

oracle同步如果不指定split-by會同步失敗
CSDN移動問答

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved