sqoop,将oracle数据传递到hive,可以直接将表数据覆盖传递,也可以按select传递,这里我用的是select查询的脚本如下:1、创建分区表,按c1分区 CREATE TABLE `xx.cc`(`c1` string)
PARTITIONED BY(`c2` string); 2、通过sqoop将数据导入临时表中sqoop import -D oraoop.jdbc.url.verbatim=true--hive-import --hive-overwrite --connect jdbc:oracle:thin:@ip:port:实例名 --username xx_name --password xx_password --query ...
一、使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二、使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL2.3 HBase中的数据导出到mysql目前没有直接的命令将HBase中的数据导出到MySQL,但可以先将HBase中的数据导出到HDFS中,再将数据导出到MySQL。三、使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase
下面只给出将Oracle中的数据导入HBase,其他情况下的命令行选项与MySQL的操作相似
OK! 最好的文档尽在:http://sqoop.apach...
hadoop2.2.0hive0.13.1Ubuntu 14.04 LTSjava version "1.7.0_60"Oracle10g
***欢迎转载。请注明来源*** http://blog.csdn.net/u010967382/article/details/38709751到下面地址下载安装包http://mirrors.cnnic.cn/apache/hive/stable/apache-hive-0.13.1-bin.tar.gz安装包解压到server上/home/fulong/Hive/apache-hive-0.13.1-bin
改动环境变量,加入下面内容export HIVE_HOME=/home/fulong/Hive/apache-hive-0.13.1-bin
export PA...
#receive the file
flume-ng agent --conf conf --conf-file conf1.conf --name a1
flume-ng agent --conf conf --conf-file conf2.conf --name hdfs-agent
flume-ng agent --conf conf --conf-file conf3.conf --name file-agent
Conf1.conf
a1.sources = tail
a1.channels = c1
a1.sinks = avro-forward-sink
a1.channels.c1.type = file
#a1.channels.c1.capacity = 1000
#a1.channels.c1.transactionCapacity = 100
...
file.zip jobInfo.properties join lib
[hive@h1 work]$ cd join/
[hive@h1 join]$ ls
bigdatademo items join_0_1.jar join_run.bat join_run.sh src user_activity2
[hive@h1 join]$ pwd
/home/work/join
[hive@h1 join]$ ls
bigdatademo items join_0_1.jar join_run.bat join_run.sh src user_activity2
[hive@h1 join]$ pwd
/home/work/join
[hive@h1 join]$ ./join_run.sh > user_activity2 2>&1 &
这样就得到...
结果不同样的记录包括两种情况:A,B 表中某一行的内容不同和A表中的数据在B表中不存在。总之返回的是A表的数据。
Hive中没有实现minus功能的函数,仅仅好分步实现。
一、找出在A表中的数据在B表中不存在的数据
insert overwrite table tmp_A partition(name=‘A_innot_B‘)
select
a.*
from A a left outer join B b on (a.id = b.id) where b.id is NULL;
二、找出在A表和B表都存在但内容不同的数据
U...
.导入的列有换行符如何解决本以为万事大吉,万万没想到导入的列有nclob类型,里面存储了一篇篇文章,势必有着换行符。果不其然,hive查询数据全部错乱, 查询资料发现--hive-delims-replacement(替换/n,/r等符号用你指定的字符)和--hive-drop-import-delims参数。可添加上去发现并没有什么卵用,没有起作用。百度goole很久,终于发现一篇帖子,http://stackoverflow.com/questions/28076200/hive-drop-import-delims-not-removin...
17/05/02 15:45:28 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect. Use hive.hmshandler.retry.* insteadorg.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083. at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:93) at org.apache.thrift.transport.TServerSocket.<init>(TServerSocket.java:75) a...
hive> > > create table test(a string, b int);FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : ORA-01754: 表只能包含一个 LONG 类型的列
java.sql.SQLSyntaxErrorException: ORA-01754: 表只能包含一个 LONG 类型的列at oracle.jdbc.driver.T4CTTIoer.pro...
到HDFS/Hive/HBase
二、使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL2.3 HBase中的数据导出到mysql
眼下没有直接的命令将HBase中的数据导出到MySQL。但能够先将HBase中的数据导出到HDFS中。再将数据导出到MySQL。三、使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase
以下仅仅给出将Oracle中的数据导入HBase,其它情况下的命令行选项与MySQL的操作相似OK。 最好的文档尽在:http://sqoop.apache.org/docs/1.4.4/index.htmlSqo...
本文描述如何通过ODI将Oracle表数据同步到Hive。1、准备工作在hadoop集群的各个节点分别安装Oracle Big Data Connectors,具体的组件如下图所示:这里只需安装Oracle Loader For Hadoop(oraloader)以及Oracle SQL Connector for Hadoop Distributed File System (oraosch)两个软件。安装比较简单,直接解压即可使用(这里的ODI、oraosch以及oraloader组件都是以oracle用户身份安装的。)2、创建目标表在Hive上创建目标表,如下:
C...
环境:
hadoop-2.7.5
sqoop-1.4.7
zookeeper-3.4.10
hive-2.3.3 (使用mysql配置元数据库)
jdk1.8.0_151
oracle 11.2.0.3.0
经过一番baidu,总算初步成功,现在记录一下中间过程.
1.拷贝hive/conf/hive_site.xml到sqoop/conf目录2.配置sqoop-evn.sh,将变量设置为对应的目录.
export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.7.5 export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.7.5 export HIVE_HOME=/home/hadoop/hive-...
脚本如下:
1、创建分区表,按c1分区 CREATE TABLE `xx.cc`(`c1` string)
PARTITIONED BY(`c2` string); 2、通过sqoop将数据导入临时表中sqoop import -D oraoop.jdbc.url.verbatim=true --hive-import --hive-overwrite --connect jdbc:oracle:thin:@ip:port:实例名 --username xx_name --password xx_password --query "select c1,c2 from table_name where c1=1 and \$CONDITIONS" \--hive-database hive_database_name --h...
数据仓库建设中的数据抽取环节,常常需要增量抽取业务库数据。但业务库数据不是一层不变的,会根据时间发生状态变更,那么就需要同步更新变化数据到HIVE中。过去在Oracle上做数据仓库时,可以使用merge的方法合并新老数据。但hive中没有该功能,本文旨在通过sqoop抽取后,自动实现数据合并。
表设计
将抽取表分为三张,一张_arc表,保存每日合并后的快照,根据pt字段分区
一张_inc表,用于保存当日抽取的增量数据,根据pt字段分区
...
首先我们要安装好sqoop 笔者我用的是sqoop1 其次我们需要ojdbc6.jar 这个jar 包下载地址如下: http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html 将解压的包 复制到sqoop安装目录下的lib 目录中 最后执行我们的导入首先我们要安装好sqoop
笔者我用的是sqoop1
其次我们需要ojdbc6.jar 这个jar 包下载地址如下:
http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010...