Flink1.11.0 SQL与hive整合

一、前言

此次flink sql 整合 hive 主要是能在flink sql中读写hive数据,为flink实时写数据进入hive 构建实时数仓做准备工作。

flink 1.11.0    hive 2.3.4    hadoop 2.7.2

主要步骤主要是参考官方文档:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/hive/hive_catalog.html

 

二、主要步骤

1.开启Hive Metastore 及 添加 hive-site.xml

参照官网如下:

step 1: set up a Hive Metastore

hive 安装好后  启动 Hive Metastore

hive --service metastore

hive-site.xml  配置文件

<configuration>
   <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
      <description>metadata is stored in a MySQL server</description>
   </property>

   <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      <description>MySQL JDBC driver class</description>
   </property>

   <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>...</value>
      <description>user name for connecting to mysql server</description>
   </property>

   <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>...</value>
      <description>password for connecting to mysql server</description>
   </property>

   <property>
       <name>hive.metastore.uris</name>
       <value>thrift://localhost:9083</value>
       <description>IP address (or fully-qualified domain name) and port of the metastore host</description>
   </property>

   <property>
       <name>hive.metastore.schema.verification</name>
       <value>true</value>
   </property>

</configuration>

2.Flink 集群添加依赖包及修改Flink SQL 配置文件

参照官网如下

2.1 集群添加hadoop和flinksql依赖包

主要参考:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/hive/

(1)添加 hadoop 依赖包和flink-sql依赖包

官方介绍说可以添加环境变量   export HADOOP_CLASSPATH='hadoop classpath'  定义hadoop 包,我这里没加

我是把hadoop 安装包放到flink 的lib目录下 :/usr/local/apps/flink1.11/lib

 flink-sql-connector-hive-2.3.6  是通过flink官方下载下来 这里要根据各自的hive版本不同下载,同样放到flink 的lib包下

2.2 修改Flink SQL 配置文件

 修改为 sql-client-defaults.yaml

主要修改如下两个地方

2.3 重新启动集群、Flink SQL

./start-cluster.sh

查看集群是否起来:http://ELK05:8081

./sql-client.sh embedded

 

 

 

三、验证读写hive数据

CREATE TABLE test_hive(name string, age double);

INSERT INTO test_hive SELECT 'Jack', 20;

select * from test_hive;

flink 提交任务到集群上是成功的

 

 

 

 

完整的flink1.11.0实时读取kafka数据写入hive中参考上一文章:

https://blog.csdn.net/m0_37592814/article/details/108044830

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值