flink读取hive数据写入mysql_Flink SQL Clien读取Kafka数据写入Hive

Flink SQL Clien读取Kafka数据写入Hive

Flink SQL Clien读取Kafka数据写入Hive

版本说明:

Flink 1.11.1

Kafka 2.4.0

Hive 2.3.6

Hadoop 2.7.3

详细步骤:

准备相关jar包

hive-exec-2.3.6.jar

hive-metastore-2.3.6.

libfb303-0.9.3.jarjar

kafka-clients-2.4.0.jar

flink-sql-connector-hive-2.3.6_2.11-1.11.1.jar

flink-sql-connector-kafka_2.11-1.11.1.jar

flink-shaded-hadoop2-uber-2.7.5-1.8.3.jar

修改配置文件

修改$FLINK_HOME/conf/sql-client-defaults.yaml,主要修改两个地方:

catalogs:

- name: myhive

type: hive

hive-conf-dir: /vm_data/apps/apache-hive-2.3.6-bin/conf

default-database: default

execution:

current-catalog: myhive

修改$FLINK_HOME/bin/start-cluster.sh,加入Hadoop Classpath:

export HADOOP_CLASSTHPATH=`hadoop classthpath`

修改$HIVE_HOME/conf/hive-site.xml

hive.metastore.uris

thrift://hadoop000:9083

启动Flink SQL Client

需要先启动Flink Standalone集群

$FLINK_HOME/bin/start-cluster.sh

$FLINK_HOME/bin/sql-client.sh embedded

在Flink SQL Client中创建Hive表,指定数据源为Kafka

在配置文件中配置了默认为default库

CREATE TABLE student(

id INT,

name STRING,

password STRING,

age INT,

ts BIGINT,

eventTime AS TO_TIMESTAMP(FROM_UNIXTIME(ts / 1000, 'yyyy-MM-dd HH:mm:ss')), -- 事件时间

WATERMARK FOR eventTime AS eventTime - INTERVAL '10' SECOND -- 水印

) WITH (

'connector.type' = 'kafka',

'connector.version' = 'universal', -- 指定Kafka连接器版本,不能为2.4.0,必须为universal,否则会报错

'connector.topic' = 'student', -- 指定消费的topic

'connector.startup-mode' = 'latest-offset', -- 指定起始offset位置

'connector.properties.zookeeper.connect' = 'hadoop000:2181',

'connector.properties.bootstrap.servers' = 'hadooop000:9092',

'connector.properties.group.id' = 'student_1',

'format.type' = 'json',

'format.derive-schema' = 'true', -- 由表schema自动推导解析JSON

'update-mode' = 'append'

);

启动Kafka,发送数据

$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list hadoop000:9092 --topic student

{"id":12, "name":"kevin", "password":"wong", "age":22, "ts":1603769073}

通过Flink SQL Client查询表中的数据

select * from student

6703aaf51abd1ecd10bc1f5941a79c92.png

Flink SQL Clien读取Kafka数据写入Hive相关教程

SQL中求字段的众数和中位数

SQL中求字段的众数和中位数 两种方法 SELECT name ,count(1) a from db001.table001 group by name having count(1) = all( select count(1) from table001 group by name );SELECT name ,count(1) a from db001.table001 group by name having count(1)= (se

php代码审计之SQL注入1

php代码审计之SQL注入1 ** ** sql注入产生的原因: 程序开发过程中不注意规范书写sq|语句和对特殊字符进行过滤,导致客户端可以通过全局变量POST和GET提交一些sq|语句正常执行. 条件: 可控制用户数据的输入; 原程序要执行的代码,拼接了用户输入的数据 危害: S

sqli-labs注入环境搭建详细教程

sqli-labs注入环境搭建详细教程 Sqli-libs是一个非常好的SQL注入学习实战平台,涵盖了报错注入、盲注、Update注入、Insert注入、Heather注入、二阶注入、绕过WAF,比较全面的一个注入平台。本次在phpstudy环境上部署sqli-labs 注入平台。 工具/原料 sqli-labs

sqli-labs:Less 11~20 通关详解

sqli-labs:Less 11~20 通关详解 看到登录框,先使用弱口令进行尝试,登录成功 输入单引号尝试引起报错 猜测后台语句为: select * from where username=‘username’ and password=’$password’ 接下来使用布尔注入,这里使用or 1=1永真句可以将所有查找结果

linux yum安装mysql,超简单

linux yum安装mysql,超简单 检查是否已经安装过mysql,执行命令: rpm -qa | grep mysql 2. 从官网下载是用于Linux的Mysql安装包: wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 执行就可以直接yum安装了: yum -y inst

windows安装mysql5.7

windows安装mysql5.7 windows安装mysql5.7 下载地址 变量名: MYSQL_HOME 变量值: Z:\MySQL\mysql-5.7.29 path里添加: %MYSQL_HOME%\bin 在mysql-5.7.29目录下创建“data”文件夹和“my.ini”文件 编辑“my.ini”文件内容如下(注意修改basedir,datadir的

CentOS 7.4下安装JDK8以及mysql5.6环境的安装 | yum安装 | mysql

CentOS 7.4下安装JDK8以及mysql5.6环境的安装 | yum安装 | mysql的远程连接 本次实验用到的系统是华为云CentOS 7.4 64bit 由于系统自带了yum的包,所以就直接用yum来安装也算是比较容易的傻瓜式安装了 (1)首先进入linux系统下,装jdk8 命令如下(想看ubantu

SQL语句入门-查询语句(SELECT)

SQL语句入门-查询语句(SELECT) SQL-SELECT 文章目录 SQL-SELECT 语法 实例 本文讲讲关于建立数据库表结构的SELECT语句,我用的postgreSQL来实现,其他的应该大同小异,主要是了解SQL语句 Select语句是用来执行查询操作的语句,说简单其实也简单,说难也难,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值