# Oracle 建立hive外部表

使用oracle的大数据连接器向建立hive的外部表,在通过在oracle中根据外部表建立内部表(create table as select * from external_table)即可实现hive表向oracle导出。

## Steps

1. 登陆141 fast用户,进入程序目录:

```shell
# login to fast@10.92.59.141
cd cd /home/fast/luohai/loadmr2ora/bin
```

  

2. 配置oracle文件与文件路径变量

```shell

ORACLE_CONF_FILE=../conf/oracles/ORACLE_65.CONF

  

```

其中ORACLE_65.CONF 文件如下配置:

```ini
hostname=10.92.190.65
port=1521
username=fastmdt
schemaname=fast
password=passwordtodb
procedure=p_mdt_hdfs_inst
# 65 为HIVE_EXT_DIR,135与62 为EXT_DATA_PATH
exttab_defaultDirectory=HIVE_EXT_DIR
connection_url=jdbc:oracle:thin:@//$hostname:$port/$schemaname
connection_user=$username
connection_password=$password

```

  

3. 配置程序运行变量

```shell
export APP_HOME=/home/fast/luohai/loadmr2ora
export LOGFILE=$APP_HOME/log/run.log
export APP_HOME=/home/fast/luohai/loadmr2ora
export OSCH_HOME=/home/fast/orahdfs-3.8.0
export HADOOP_CLASSPATH="$OSCH_HOME/jlib/*:/usr/hdp/2.5.0.0-1245/hive/lib/*:/usr/hdp/2.5.0.0-1245/hive/conf/:/usr/hdp/2.5.0.0-1245/hadoop/lib/lib/*"

```

  

4. 导入shell函数:

```shell
source common.sh
```

  

5. 建立外部表

```shell
# etlOperate hive_db hive_tb ext_oracle_tb operation oracle_conf_path
etlOperate TEST tdlte_mro_locate_hour_zhengzhou201812 tdlte_mro_locate_hour_zz201812 createTable $ORACLE_CONF_FILE
```

  

注意:若oracle没有该表可以使用相同表名
etlOperate test MRCP_G50_FREQ_CPF_T(hive数据表) MRCP_G50_FREQ_CPF_T(oracle表名)  createTable $ORACLE_CONF_FILE

其中:

* **ext_oracle_tb** 表名不能超过32

为在oracle中建立的外部表

* **operation**

对该外部表所做的操作:

**createTable** 建立新外部表

**drop** 删除外部表

**publish** 更新外部表(在hive中数据换了之后)

hive上传数据到oracle的更多相关文章

  1. 向hive上传数据时,中文乱码

    sudo -u hive hive -e "use dataplat;load data local inpath '/home/dlht/data/test/2_times.csv' ov ...

  2. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

    [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...

  3. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]

    TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...

  4. Amzon MWS API开发之 上传数据

    亚马逊上传数据,现有能操作的功能有很多:库存数量.跟踪号.价格.商品....... 我们可以设置FeedType值,根据需要,再上传对应的xml文件即可. 下面可以看看FeedType类型 这次我们拿 ...

  5. Amazon MWS 上传数据 (三) 提交请求

    前面介绍了设置服务和构造请求,现在介绍提交请求. 上传数据,查询上传操作的工作状态,和处理上传操作返回的报告操作使用的Amazon API 分别为:SubmitFeed(),FeedSubmissio ...

  6. Amazon MWS 上传数据 (二) 构造请求

    上一篇文章提到了Amazon 上传数据有三个步骤,但是每个步骤都需要构造服务和构造请求,服务是一样的,请求各不相同:这个很容易理解,这三个步骤都需要和Amazon服务器交互,所以他们的服务构造是一样的 ...

  7. Amazon MWS 上传数据 (一) 设置服务

    Amazon 上传数据的流程为: 通过 SubmitFeed 操作.加密标头和所有必需的元数据(包括 FeedType 的值在内),来提交 XML 或文本型数据文件.正如亚马逊 MWS的所有提交内容一 ...

  8. 说说ajax上传数据和接收数据

    我是一个脑袋不太灵光的人,所以遇到问题,厚着脸皮去请教大神的时候,害怕被大神鄙视,但是还是被鄙视了.我说自己不要点脸面,那是不可能的,但是,为了能让自己的技术生涯能走的更长远一些,受点白眼,受点嘲笑也 ...

  9. webclient上传数据到ashx服务

    1.上传参数 UploadData()方法可以上传数据参数,需要将所要上传的数据拼成字符. // 创建一个新的 WebClient 实例.    WebClient myWebClient = new ...

随机推荐

  1. MapReduce论文学习

    MapReduce和区块链有什么相同的地方? 我的天哪,他俩还有相同的地方呢.我书读的少,你别骗我. 他俩还真有相同点,绝不忽悠. 他俩都有一个高大上的名字. 区块链就是一个分布式数据库,并不是什么神 ...

  2. 使用 Angular Console 提升开发体验

    Angular Console Angular Console 是一个用于扩展 Angular CLI 的强大工具,通过提供一个图形界面的形式,方便开发者使用 CLI 的功能. Angular CLI ...

  3. 部署Redis4.x单机版及配置RDB和AOF持久化

    一.环境及软件 OS soft version  CentOS 7.5   redis-4.0.12(目前是4.x最新) 二.下载及编译Redis [root@localhost ~]# wget h ...

  4. 使用JavaMail创建邮件和发送邮件

    参考https://www.cnblogs.com/xdp-gacl/p/4216311.html,写的真好,知识在于分享,备份留着看 一.RFC882文档简单说明 RFC882文档规定了如何编写一封 ...

  5. mysql 多行(GROUP_CONCAT)和多列(CONCAT)的合并函数

    1,多行合并:把查询的一行或者多行进行合并. SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id ...

  6. hdfs webhdfs 写文件(create file)

    # _*_ coding=utf-8 _*_ import sys import os hosts = {} cmd1 = ''' curl -i -X PUT "http://%s:500 ...

  7. 前端生成excel

    一:安装依赖 1:在package.json 中加入四个依赖包 (1): "json2csv": "^3.11.0", (2):"file-saver ...

  8. Could not read document: Can not deserialize instance of java.lang.String out of START_ARRAY

    线上问题: { "timestamp": "1544510665", "status": 400, "error": & ...

  9. spark单机搭建

    说明:单机版的Spark的机器上只需要安装Scala和JDK即可,其他诸如Hadoop.Zookeeper之类的东西可以一概不安装 只需下载如下三个包 1.安装jdk 配置环境变量 vim /etc/ ...

  10. 使用 nodeJs 开发微信公众号(设置自动回复消息)

    微信向第三方服务器发送请求时会降 signature .timestamp. nonce . openid(用户标识),发送内容会以 xml 的形式附加在请求中 回复消息前提我们得拿到用户id , 用 ...