如何从Oracle到hive

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Oracle到hive相关的知识,希望对你有一定的参考价值。

说的是Hive,不是HBase。从Oracle里面头导出数据为平面文件后,导入HDFS里面。Hive里面的表结构是要自己手工定的。

  建表可以自己写个小程序实现,根据oracle字典表和hive的建表规则,每个地方使用hive的情景不同,建表也不同。数据装载可以用sqoop来实现。

  你可以安装下SQOOP,注意这个跟HADOOP的版本要对应的,不然会出现一些问题。以下是我项目用到的例子,不过我有个更高级的方法,只需配到表就行了,就是写个JAVA程序,然后自动生成对应的脚本,再执行就可以了。
参考技术A 你可以安装下SQOOP,注意这个跟HADOOP的版本要对应的,不然会出现一些问题。
以下是我项目用到的例子,不过我有个更高级的方法,只需配到表就行了,就是写个JAVA程序,然后自动生成对应的脚本,再执行就可以了。
import
--connect
jdbcracle:thin:@10.0.13.178:1521:dbmuat
--username
exp5
--password
exp5

-m
2
--split-by
WAYBILL_ID
--null-string
''
--table
TT_WAYBILL
--columns
"WAYBILL_ID,WAYBILL_NO,SOURCE_ZONE_CODE,DEST_ZONE_CODE,ONESELF_PICKUP_FLG,CONSIGNOR_COMP_NAME,CONSIGNOR_ADDR,CONSIGNOR_PHONE,CONSIGNOR_CONT_NAME,CONSIGNOR_MOBILE,ADDRESSEE_COMP_NAME,ADDRESSEE_ADDR,ADDRESSEE_PHONE,ADDRESSEE_CONT_NAME,ADDRESSEE_MOBILE,METERAGE_WEIGHT_QTY,REAL_WEIGHT_QTY,QUANTITY,FREE_PARCEL_FLG,INNER_PARCEL_FLG,FRANGIBLE_PARCEL_FLG,TRUST_PARCEL_FLG,PRE_CUSTOMS_DT,CONSIGNEE_EMP_CODE,CONSIGNED_TM,DELIVER_EMP_CODE,SUBSCRIBER_NAME,SIGNIN_TM,WAYBILL_REMK,CUSTOMS_BATCHS,AUDITED_FLG,INPUTER_EMP_CODE,INPUT_TM,AUDITER_EMP_CODE,AUDITED_TM,SUPP_TYPE_CODE,CUSTOMS_TYPE_CODE,BOX_TYPE_CODE,VERSION_NO,CARGO_TYPE_CODE,LIMIT_TYPE_CODE,DISTANCE_TYPE_CODE,TRANSPORT_TYPE_CODE,EXPRESS_TYPE_CODE,LOCK_VERSION_NO,INPUTED_ZONE_CODE,INPUT_TYPE_CODE,NEED_SIGNED_BACK_FLG,SIGNED_BACK_WAYBILL_NO,ADDRESSEE_ADDR_NATIVE,UNIFIED_CODE,MODIFIED_EMP_CODE,MODIFIED_TM,HAS_SERVICE_PROD_FLG,ACKBILL_TYPE_CODE,CONS_VALUE,OTHER_NODE_FLG,TB_ORDER_NO,TB_ORDER_TYPE,FREE_TICKET_NO,TWINVOICE_TYPE_CODE,SELF_SEND_FLG,SELF_SEND_DISCOUNT,HVALUE_BOX_TYPE,VOLUME,SOURCEAREA,CONSULT_CODE,CONSIGNOR_POSTAL_CODE,ADDRESSEE_POSTAL_CODE,COUNTRY_CODE,INVOICE_NO,IS_CREDIT,MAWB,AIRPORT_CODE,CONS_VALUE_CURRENCY_CODE,CONSIGNOR_TAX_NO,TRANSFER_PARCEL_FLG,COD_BILL_FLG,CVS_CODE,COD_TYPE,INPUT_TM_GMT,MODIFYDATE_GMT,AUDITER_TM_GMT,UNIT_WEIGHT,REFUND_FREE_PARCEL_FLG,NEW_INPUT_TM,IS_INTERIOR,SOURCE_WAYBILL_NO,BILL_STYLE"
--where
"INPUT_TM>=date'2013-08-01' AND INPUT_TM<date'2013-08-02'"
--hive-import
--hive-overwrite
--hive-drop-import-delims
--hive-table
TT_WAYBILL
--hive-partition-key
IN_TM
--hive-partition-value
"2013-08-01"

以上是关于如何从Oracle到hive的主要内容,如果未能解决你的问题,请参考以下文章

如何将json数据导入到Hive中

如何使用StreamSets从MySQL增量更新数据到Hive

如何将oracle表导入hive表

hive如何去掉重复数据,显示第一条

将 BLOB(图像)从 oracle 导入到 hive

sqoop 数据从 oracle 到 hive 错误