Contents
  1. 1. Hive安装
  2. 2. Hive使用中遇到的问题
  3. 3. 批和流处的反思

Flink SQL Client 是一个帮助用户直接运行SQL,而不要进行编译运行的工具,首先他支持多个数据源,在Flink1.9.0中支持了Hive,这样就把批处理和流计算结合了起来,这篇博客详解了Hive在Flink SQL Client中的安装和使用,以及探索在上面做的一些复杂开发实践

Hive安装

依赖的jar包如下

antlr4-runtime-4.5.jar        
flink-connector-hive_2.11-1.9.0.jar
antlr-runtime-3.5.2.jar        
flink-hadoop-compatibility_2.11-1.9.0.jar
datanucleus-api-jdo-4.2.4.jar  
hive-exec-2.3.4.jar
datanucleus-api-jdo-5.2.2.jar 
javax.jdo-3.2.0-m3.jar
datanucleus-core-4.1.17.jar   
datanucleus-rdbms-4.1.9.jar    
flink-shaded-hadoop-2-uber-2.7.5-8.0.jar

将这些复制到flink/lib目录下面即可,下面是下载链接

Google Driver下载地址
百度云提取码:ghea 百度云下载地址

Hive使用中遇到的问题

  1. 目前只支持2.3.4和1.2.1
  2. 支持的读取的hive类型有限,时间类型只支持1个Date
    PS: Sqoop导入数据库表到Hive的时候,只能将DateTimeTimeStamp设置为String,否则无法在Client中使用
  3. 跨越Catalog读取表的时候Hive不能存放在default(默认)数据库中,否则会解析异常

例如:想从Hive默认数据库中获取表a,使用insert b select * from hive_catalog.default.a会解析失败

  1. Hive不支持写入分区表,也不支持Overwrite,只支持append模式

批和流处的反思

在Flink1.9之前,在


未完待续

Contents
  1. 1. Hive安装
  2. 2. Hive使用中遇到的问题
  3. 3. 批和流处的反思