oracle能直连hive操作数据么
答案:1 悬赏:70 手机版
解决时间 2021-02-16 02:09
- 提问者网友:绫月
- 2021-02-15 06:21
oracle能直连hive操作数据么
最佳答案
- 五星知识达人网友:你可爱的野爹
- 2021-02-15 06:30
楼主说的是Hive,不是HBase.
从Oracle里面头导出数据为平面文件后,导入HDFS里面,
Hive里面的表结构是要自己手工定的。
你可以安装下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 --hive-import
--hive-overwrite
--hive-drop-import-delims
--hive-table
TT_WAYBILL
--hive-partition-key
IN_TM
--hive-partition-value
"2013-08-01"
从Oracle里面头导出数据为平面文件后,导入HDFS里面,
Hive里面的表结构是要自己手工定的。
你可以安装下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
--hive-overwrite
--hive-drop-import-delims
--hive-table
TT_WAYBILL
--hive-partition-key
IN_TM
--hive-partition-value
"2013-08-01"
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯