Flume practices and sqoop hive 2 oracle
#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
a1.sources.tail.type = spooldir
a1.sources.tail.spoolDir = /path/to/folder/
a1.sinks.avro-forward-sink.type = avro
a1.sinks.avro-forward-sink.hostname =hostname/ip
a1.sinks.avro-forward-sink.port = 12345
# Bind the source and sink to the channel
a1.sources.tail.channels = c1
a1.sinks.avro-forward-sink.channel = c1
Conf2.conf
hdfs-agent.sources= avro-collect
hdfs-agent.sinks = hdfs-write
hdfs-agent.channels=ch1
hdfs-agent.channels.ch1.type = file
#hdfs-agent.channels.ch1.capacity = 1000
#hdfs-agent.channels.ch1.transactionCapacity = 100
hdfs-agent.sources.avro-collect.type = avro
hdfs-agent.sources.avro-collect.bind = 10.59.123.69
hdfs-agent.sources.avro-collect.port = 12345
hdfs-agent.sinks.hdfs-write.type = hdfs
hdfs-agent.sinks.hdfs-write.hdfs.path = hdfs://namenode/user/usera/test/
hdfs-agent.sinks.hdfs-write.hdfs.writeFormat=Text
# Bind the source and sink to the channel
hdfs-agent.sources.avro-collect.channels = ch1
hdfs-agent.sinks.hdfs-write.channel = ch1
Start the conf2.conf first, then start conf1.conf agent.
Because the avro source should start first then avro sink can connect to it.
#when use memory change, issue is :
org.apache.flume.ChannelException: Unable to put batch on required channel:
org.apache.flume.channel.MemoryChannel{name: ch1}
#change to filechannel
ok...
#batched change the filename, remove .completed
for f in *;
do
mv $f ${f%.COMPLETED*};
done;
Sqoop load data from hive to oracle:
sqoop export -D oraoop.disabled=true \
--connect "jdbc:oracle:thin:@(description=(address=(protocol=tcp)(host=hostname)(port=port))(connect_data=(service_name=sname)))" \
--username user_USER \
--password pwd \
--table EVAN_TEST \
--fields-terminated-by '\001' \
-m 1 \
--export-dir /path/to/folder/
####table name should in upper case. Or else, report exception not found columns information.
Flume practices and sqoop hive 2 oracle的更多相关文章
- HIVE之 Sqoop 1.4.6 安装、hive与oracle表互导
1. sqoop数据迁移 1.1 概述 sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具. 导入数据:MySQL,Oracle导入数据到Hadoop的HDFS.HI ...
- sqoop工具从oracle导入数据2
sqoop工具从oracle导入数据 sqoop工具是hadoop下连接关系型数据库和Hadoop的桥梁,支持关系型数据库和hive.hdfs,hbase之间数据的相互导入,可以使用全表导入和增量导入 ...
- 通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据
通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据\ 下文将重点说明通过Sqoop实现Mysql与HDFS互导数据,Mysql与Hbase,Oracle与Hbase的互 ...
- sqoop操作之ORACLE导入到HIVE
导入表的所有字段 sqoop import --connect jdbc:oracle:thin:@192.168.1.107:1521:ORCL \ --username SCOTT --passw ...
- 使用sqoop工具从oracle导入数据
sqoop工具是hadoop下连接关系型数据库和Hadoop的桥梁,支持关系型数据库和hive.hdfs,hbase之间数据的相互导入,可以使用全表导入和增量导入 从RDBMS中抽取出的数据可以被Ma ...
- Oozie 配合 sqoop hive 实现数据分析输出到 mysql
文件/RDBMS -> flume/sqoop -> HDFS -> Hive -> HDFS -> Sqoop -> RDBMS 其中,本文实现了 使用 sqoo ...
- spark+hadoop+sqoop+hive平台bug解决方法
bug集锦 1. hadoop平台datanode无法启动: 原因: 由于多次hdfs namenode -format导致dfs/data/current/version中的cluserID与当前的 ...
- Hive实现oracle的Minus函数
在Oracle中minus运算的主要功能是: 在进行两个表格或者两个查询结果的时候,返回在第一个表格/查询结果中与第二个表格/查询结果不同样的记录. 结果不同样的记录包括两种情况:A,B 表中某一行的 ...
- sqoop操作之Oracle导入到HDFS
导入表的所有字段 sqoop import --connect jdbc:oracle:thin:@192.168.1.100:1521:ORCL \ --username SCOTT --passw ...
随机推荐
- MVC5 + EF6 + Bootstrap3 (11) 排序、搜索、分页
系列教程:MVC5 + EF6 + Bootstrap3 上一节:MVC5 + EF6 + Bootstrap3 (10) 数据查询页面 源码下载:点我下载 我工作的源码:http://www.jin ...
- ahjesus 让Boot Camp支持创建win7 u盘安装盘
通过修改BootCamp助理成功创建USB的windows7的安装盘. 以下将方法共享出来. 准备工作: 找到自己电脑的Boot Rom 版本.(点左上角那个小苹果标志 然后点 [关于本机] 然后点 ...
- [mysql] timestamp自动更新和初始化
1.概述 在我们设计表的时候,考虑将行数据的创建时间和最后更新时间记录下来是很好的实践.尤其是可能需要做数据同步或者对数据新鲜度有要求的表.举些应用场景,更新距上次更新超过2小时的行数据,或者是将一个 ...
- NYOJ 21 三个水杯
三个水杯 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子.三个水杯之间相互倒水,并且水杯没有 ...
- 关于使用ResultSet ---结果集没有当前行
Resultset返回的结果集是从结果的前一句开始的,也就是说一开始的resultset是没有的,所以,一般使用的时候,需要这样子写: while( resultSet.next() ){ ...
- Android 优秀的开源框架整理
第一部分:系统架构 thinkAndroid https://github.com/white-cat/ThinkAndroid ThinkAndroid是一个免费的开源的.简易的.遵循Apache2 ...
- Android studio打包APK混淆配置
要在打包APK时加入混淆需要在Module中的buid.gradle中加入如下信息 buildTypes { release { minifyEnabled true shrinkResources ...
- IOS 应用跳转 (IOS9白名单)
跳转到指定app的实现 IOS中应用的跳转是通过URL实现的,因此在实现应用跳转之前我们要设置一下对应的URL. 图一(寻找配置软件的URL) 图二(具体配置选项) 注意: 如果IOS版本为IOS9 ...
- iOS使用Workspace来管理多项目
开发中会有一些常用的类或方法,或者是某个特定功能的,比如一个自定义的弹框.一个更容易使用的网络请求库,可以把它们放到一个单独的工程里,通过静态库(library.FrameWork)的方式应用到任何其 ...
- Swift面向对象基础(上)——Swift中的类和结构体(下)
学习来自<极客学院> import Foundation class User { var name:String var age:Int init(name:String,age:Int ...