Datastage 配置Odbc 连接Hive (内含实现作业)

浏览: 3105

版本:IBM InfoSphere DataStage V11.5.1

操作系统:linux redhat 6.4

平台:Apache Hadoop 2.6.0-cdh5.9.0


场景:

需要将数仓的表数据,加载到Hive 数据库供 Spark 分发数据。虽然测试成功,但是经过测试效率太慢。最后将数据存放到Hdfs  Hive 做外部映射表实现。

另外DS11.5版本已经提供链接Hive 接口,同时支持链接Hice控件。


步骤1:

登陆DS服务器 编辑 

/opt/IBM/InformationServer/Server/DSEngine/.odbc.ini
[T_HIVE]
Driver=/onstarlog/IBM/InformationServer/Server/branded_odbc/lib/VMhive00.so
Description=DataDirect Apache Hive Wire Protocol
ArraySize=16384
AuthenticationMethod=0
Database=default
DefaultLongDataBuffLen=1024
EnableDescribeParam=0
GSSClient=native
HostName= 按照Hive节点IP
LoginTimeout=30
LogonID=
MaxVarcharSize=8192
Password=
PortNumber=10000
ProxyUser=
RemoveColumnQualifiers=0
ServicePrincipalName=
StringDescribeType=12
TransactionMode=0
UseNativeCatalogFunctions=0
UseCurrentSchema=0
WireProtocolVersion=0

步骤2:

登陆DS服务器 编辑
<T_HIVE>
DBMSTYPE = ODBC



步骤3:

Clipboard Image.png


因为Hive 插入表语法和DS插入表语法不一致,所以只能手工写脚本

INSERT INTO Hive_Table  VALUES( ORCHESTRATE.col1, ORCHESTRATE.col2)


Clipboard Image.png

推荐 3
本文由 我是最优雅的杀手,不杀人专杀狗 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

4 个评论

可以点赞
你好,问一下DATASTAGE支持从oracle抽取数据加载到HIVE是吧,你说效率太慢是吧,大约多少条每秒?
你使用的目标表是分区表吗?我从IBM官网上看到是分区表是逐条提交的,不知道非分区表是不是支持批量提交?
还想问个问题:datastage11.5安装包你是买的吗?能从网上下个试用版的之类的吗?
Hive Connector的使用限制
q 目前向 partitioned table中的insert操作是逐条执行的,没有批量模式
q 在 Big Integrate 环境中, Keytab 文件的localization目前不被支持
q 不支持向Hive表中Load数据
workaround:
可以使用 File Connector向Hive表中load数据. 用File connector将数据load到文件,然后在创建一个Hive表关联这个文件
q 只支持Insert的写模式
是公司环境,网上只有8.5版本

要回复文章请先登录注册