sqoop操作之HIVE导出到ORACLE

示例数据准备

hive中创建dept表

create table dept(
deptno int,
dname string,
loc string
)
row format delimited fields terminated by ‘\t‘ lines terminated by ‘\n‘
stored as textfile;

导入数据:

sqoop import --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL \
--username SCOTT --password tiger \
--table DEPT  \
--hive-overwrite --hive-import  --hive-table dept \
--fields-terminated-by ‘\t‘ --lines-terminated-by ‘\n‘ \
-m 3;

HIVE导出到ORACLE

需要分两步:
第一步:先写入到hdfs

insert overwrite directory ‘/user/hadoop/DEPT_HIVE_EXPORT‘ select * from dept;

第二步:由hdfs导出到oracle

导出到数据库时,要确保表已经在数据库中存在,否则报错。

create table DEPT_DEMO as select * from DEPT where 1=2;
sqoop export --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL \
--username SCOTT --password tiger \
--table DEPT_DEMO  \
--export-dir /user/hadoop/DEPT_HIVE_EXPORT \
--fields-terminated-by ‘\001‘  \
-m 2;

注:从hive导出到hdfs的分隔符不是,而是\001;如果不指定分隔符,则报错:Caused by: java.lang.NumberFormatException

 

sqoop操作之HIVE导出到ORACLE

时间: 2024-10-05 04:45:11

sqoop操作之HIVE导出到ORACLE的相关文章

sqoop操作之HDFS导出到ORACLE

注意:在导出前需要先创建待导出的表结构.如果导出的表在数据库中不存在则会报错:如果重复导出多次,表中的数据会重复: create table EMP_DEMO as select * from EMP where 1=2; create table SALGRADE_DEMO as select * from SALGRADE where 1=2; 导出表的所有字段 sqoop export --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL

Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 眼下没有直接的命令将HBase中的数据导出到MySQL.但能够先将HBase中的数据导出到HDFS中.再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 以下仅仅给出将Oracle中的数据导入HBase,其它情况下的命令行选项与MySQL的操作相似

详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 目前没有直接的命令将HBase中的数据导出到MySQL,但可以先将HBase中的数据导出到HDFS中,再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 下面只给出将Oracle中的数据导入HBase,其他情况下的命令行选项与MySQL的操作相似 O

sqoop操作之ORACLE导入到HIVE

导入表的所有字段 sqoop import --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL \ --username SCOTT --password tiger \ --table EMP \ --hive-import --create-hive-table --hive-table emp -m 1; 如果报类似的错: ERROR tool.ImportTool: Encountered IOException running imp

sqoop操作之Oracle导入到HDFS

导入表的所有字段 sqoop import --connect jdbc:oracle:thin:@192.168.1.100:1521:ORCL \ --username SCOTT --password tiger \ --table EMP -m 1; 查看执行结果: hadoop fs -cat /user/hadoop/EMP/part-m-00000 7369,SMITH,CLERK,7902,1980-12-17 00:00:00.0,800,null,20 7499,ALLEN,

sqoop从关系库导出数据到hive

[Author]: kwu sqoop从关系库导出数据到hive,sqoop支持条件查询关系库中的数到hive数据仓库中,并且字段无须与hive表中的字段一致. 具体实现的脚本: #!/bin/sh # upload logs to hdfs today=`date --date='0 days ago' +%Y-%m-%d` sqoop import --connect jdbc:mysql://10.130.2.6:3306/bdc_test --username lvwenjuan --p

sqoop操作之ETL小案例

Extraction-Transformation-Loading的缩写,中文名称为数据提取.转换和加载.将数据从ORACLE中抽取数据,经过hive进行分析转换,最后存放到ORACLE中去. 本案例是纯demo级别,练手使用 一.需求将emp和dept表的数据分析最后存放到result表. emp和dept表均为oracle自带的表,表结构如下: emp表 EMPNO NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIRE

Alex 的 Hadoop 菜鸟教程: 第9课 Sqoop1 从Hbase或者Hive导出mysql

今天讲讲怎么用sqoop将Hbase或者Hive的东西导出到mysql.不过事先要告诉大家 目前sqoop没有办法把数据直接从Hbase导出到mysql.必须要通过Hive建立2个表,一个外部表是基于这个Hbase表的,另一个是单纯的基于hdfs的hive原生表,然后把外部表的数据导入到原生表(临时),然后通过hive将临时表里面的数据导出到mysql 数据准备 mysql建立空表 CREATE TABLE `employee` ( `rowkey` int(11) NOT NULL, `id`

使用sqoop --options-file 导入hive数据

[Author]: kwu 使用sqoop --options-file直接导入hive数据,把操作命令语句写在文件中,便于管理及管理 1.创建hive数据库及表 create database DB_TEST; CREATE TABLE UserRegLoginLog ( ID BIGINT, fld_date TIMESTAMP, fld_ip string, fld_server_ip string, fld_UA string, UserId BIGINT , UserName stri