
1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.4.2 | - |
4.0.29 | 新建数据连接时,Hadoop Hive (HDFS) 和Hadoop Hive数据源,合并为Hadoop Hive |
4.1.3 | 数据写入 Hive 数据库时,支持创建、写入分区表 |
4.1.13.2 |
|
1.2 应用场景
Hadoop 是个很流行的分布式计算解决方案,Hive 是建立在 Hadoop 上的数据仓库基础构架。
FineDataLink 支持连接 Hadoop Hive ,进行定时任务读写。
2. 配置数据连接
2.1 前提条件
详情请参见:前提条件
2.2 版本和驱动
下载驱动,并将其上传至 FineDataLink,如何上传可参见:驱动管理 2.1 节。
支持的数据库版本 | 驱动包下载 | 日志jar下载 |
---|---|---|
hive_1.1 | 在上传驱动包时,需要解压「日志jar」文件和驱动一起上传至 FineDataLink | |
Hadoop_Hive_1.2;hive2.3;hive2.1.2;hive2.1.1;hive3.3.1 | ||
注:若需要将 Hive 作为写入数据源时,优先使用该驱动。 |
2.3 收集连接信息
在连接数据库之前,请收集以下信息:
数据库所在服务器的 IP 地址和端口号。
数据库的名称。
若是用户名密码认证,需要收集用户名和密码;若是 Kerberos 认证,需要收集客户端 principal 和 keytab 密钥路径。
HDFS 文件系统地址(IP 地址和端口号)(若只是读取 Hadoop Hive 数据库中的数据,无需准备该信息;若需要向Hadoop Hive 数据库中写入数据,为保证写入性能,需要准备该信息)。注:同时需要保证 FineDataLink 所在服务器能访问 HDFS 文件系统端口,例如 HDFS 文件系统默认端口为 8020,且服务器开启了防火墙,则需要参考下文开放 8020 端口。
Windows 系统开放端口步骤请参见:Windows服务器设置出入站规则
Linux 系统开放端口步骤请参见:Linux防火墙使用及配置
若需要写入 Hive 压缩表,4.1.13.2 及之后的版本可以配置数据连接 URL,示例为:jdbc:hive2://192.168.101.119:10000/hive?hive.exec.compress.output=true;mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec;hive.stats.autogather=false
2.4 具体连接步骤
创建数据连接步骤请参见:创建并管理数据源
配置数据连接时,驱动需要切换为「自定义」,换为本文 2.2 节的驱动。
部分设置项说明:
设置项介绍如下表所示:
设置项 | 说明 |
---|---|
认证方式 | 认证方式可选择两种:用户名密码、Kerberos Kerberos 认证方式详情可参见:数据连接 Kerberos 认证 使用 Kerberos 认证需要注意以下事项:
|
HDFS 设置 | 1)若只是读取 Hadoop Hive 数据库中的数据,无需配置该设置项 2)若需要向 Hadoop Hive 数据库中写入数据,为保证写入性能,需要配置该设置项 为 Hadoop HDFS文件系统处于活跃状态的节点地址 格式为 "hdfs://ip:port"。 例如:hdfs://192.168.101.119:8020 确定 HDFS 地址中 IP 和端口的方法请参见:确认HDFS地址中的IP和端口 4.1.13.2 以及之后的版本支持填写多个地址,多个地址用逗号隔开,例如:hdfs://ip1:port1,hdfs://ip2:port2,hdfs://ip3:port3 |
HDFS 用户名 | 当Hive的认证方式选择「用户名密码」时:
|
3. 使用数据源
3.1 数据开发-定时任务
3.1.1 数据去向与映射
定时任务支持选择分区表作为数据去向,如下图所示:
详情请参见:读取、创建、写入分区表
定时任务自动建表支持指定分区键,如下图所示:
注:Hive 数据库不支持动态分区键的值为中文。
支持作为分区键的字段类型:
分类 | 字段类型 |
---|---|
Hive分区键支持的字段类型 |
|
Hive分区键不支持的字段类型 |
|
3.1.2 写入方式
当选择的目标表是分区表(包含分区键),或自动建表时定义了分区键,写入方式新增「分区写入」设置项。如下图所示: