将oracle的数据导入到hive上进行查询统计分析类的工作

简介

此文档完成的操作是:将oracle的数据导入到hive上进行查询统计类的工作

Oracle数据导出

使用PLSQL工具查询导出tsv文件。导出时使用‘#’来讲列拼接起来,用于hive表加载数据文件用

 将oracle的数据导入到hive上进行查询统计分析类的工作_第1张图片


将文件上传至装了Hiveslave1服务器。

连接hive数据仓库

首先ssh登录到master服务器

输入一下命令:(hive装在了slave1节点上所以注意连接jdbc连接字符串 服务器是slave1

beeline -u 'jdbc:hive2://slave1:10000/default'

 

创建hive数据库,切换到 hive数据库

create database hive;

use hive;

创建内部表

这里创建的表的列与oracle需要一致。

创建语法 create table 表名 (列名 数据类型,列名 数据类型,) row format delimited fileds terminated by '文本数据的字段间隔符' LINES TERMINATED BY '文本数据的行标识符' ;

Hive的数据类型

Bigint– 主要用于状态,类别,数量的字段, status/option/type/quantity

Double– 主要用于金额的字段, fee/price/bid

String– 除上述之外的字段基本都使用String, 尤其是id和日期时间这样的字段

需要将创建Oraclemysql表的语句数据类型对应进行修改,尾部添加row format delimited fileds terminated by '文本数据的字段间隔符' LINES TERMINATED BY '文本数据的行标识符'  就是hive创建表的语句了。

 

注意在执行创建语句时要将其整理成一行,再复制到终端执行。

加载本地数据

语法

LOAD DATA LOCAL INPATH '数据文件地址/文件' INTO TABLE 要加载的表;

 

加载HDFS数据将local去掉,不过加载后的HDFS文件数据文件会移动到对应的hive目录,原来的路径将不存在该文件。加载本地的是复制操作。

HIVE表保存的默认路径在${HIVE_HOME}/conf/hive-site.xml配置文件的hive.metastore.warehouse.dir属性指定。

 

执行一个简单的sql进行测试

select count(*) from prpcmain;

 将oracle的数据导入到hive上进行查询统计分析类的工作_第2张图片

如果sql较长,返回的结果集也较多,可以将sql保存成sql文本文件,将结果集保存到本地为文本文件

在bash上执行以下命令

hive -f XXX/XX.sql > /root/data.txt

将oracle的数据导入到hive上进行查询统计分析类的工作_第3张图片

你可能感兴趣的:(Hadoop,hive)