# 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. Stream初步应用

    一.什么是stream Stream(流)是一个来自数据源的元素队列并支持聚合操作,数据来源可以从inputstream,数组,集合中获取:聚合操作可以类似SQL语句一样的操作, 比如filter, ...

  2. ubuntu10.04换官方源

    ubuntu10.04LTS官方已经不再维护,导致部分软件.库文件等下载有问题,可换以下源地址解决问题 deb http://old-releases.ubuntu.com/ubuntu lucid ...

  3. SpringBoot+Mybatis实现关联查询

    SpringBoot+Mybatis实现关联查询 今天学习了下Mybatis的动态查询,然后接着上次的Demo改造了下实现表的关联查询. 话不多说,开始今天的小Demo 首先接着上次的项目 https ...

  4. nginx mac

    ==> nginx Docroot is: /usr/local/var/www The default port has been set in /usr/local/etc/nginx/ng ...

  5. C 语言 符合运算符

    复合赋值 5个算术运算符 + - * / % 可以和赋值运算符 = 结合起来形成符合运算符 += -= *= /= %= total += 5 total = total + 5 note:两个运算符 ...

  6. Jmeter5.1.1构造https请求

    1.打开浏览器,输入https的网址 2.点开浏览器前面的小锁 3.点开证书.详细信息.复制到文件 把证书保存到本地电脑 4.利用jdk中的keytool.exe工具,重新生成证书 C:\Java\j ...

  7. 定制你自己的vim编辑器

    今天定制了一下自己的vim编辑器,效果嘛,谁用谁知道!话不多说,直奔主题.vim编辑器的配置都在/etc/vimrc文件中. #vim /etc/vimrc 打开配置文件,在尾部添加如下的,不是全都必 ...

  8. Django return

    return HttpResponse("OK") 返回一个字符串 return redirect("/index/") 返回URL return render ...

  9. 解决PLSQL Developer 插入中文 乱码问题

    https://blog.csdn.net/guowd/article/details/50989109 PLSQL Developer 插入中文 乱码问题,如图 这个是由于oracle服务器端字符编 ...

  10. 【转】How to initialize a two-dimensional array in Python?

    [wrong way:] m=[[element] * numcols] * numrows for example: >>> m=[['a'] *3] * 2>>> ...