./fkink run-application -t yarn-application flink-hive-2-kafka-1.0.jar --hive.db.name xxx --hive.kafka.tb xxx --kafka.bootstrap.server xxx:9092,xxx:9092 --kafka.topic xxx --kafka.group.id xxx --kafka.username xxx --kafka.password 'xxx' --sql.insert.kafka.table 'xxxxxxx' 1....
数仓Hive中的数据需要读取后写入Kafka中进行数据服务输出。 选型 选用Flink进行读Hive写Kafka,因为其拥有丰富的connector可选择。 开发 pom依赖 <dependencies> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-api-java-bridge_2.11</artifactId> <version>1.13.2</version...
数仓Hive中的数据需要读取后写入Kafka中进行数据服务输出。 选型 选用Flink进行读Hive写Kafka,因为其拥有丰富的connector可选择。 开发 pom依赖 <dependencies><dependency><groupId>org.apache.flink</groupId><artifactId>flink-table-api-java-bridge_2.11</artifactId><version>1.13.2</version></d...
一是利用了 Hive 的 MetaStore 作为持久化的 Catalog,用户可通过HiveCatalog将不同会话中的 Flink 元数据存储到 Hive Metastore 中。 例如,用户可以使用HiveCatalog将其 Kafka 表或 Elasticsearch 表存储在 Hive Metastore 中,并后续在 SQL 查询中重新使用它们。 二是利用 Flink 来读写 Hive 的表。 HiveCatalog的...
前几篇文章都是围绕Flink从kafka读取数据,并根据一些简单的业务要求对结果进行控制台输出。 那么这篇文章就沿用之前的业务思路,通过Flink(1.15.3)实时消费kafka(2.0.0)数据,并将结果实时写入hive(3.1.0)分区表,来对比之前用Spark structured streaming写hive分区表。
hive-conf-dir: /opt/module/hive/conf default-database: mydb execution: type: streaming result-mode: tableau #查询出来的数据表格化,更好看 2.需要导入包:(我使用的flink1.11,自带 flink-json-1.11.3.jar,flink-sql-connector-kafka_2.11-1.11.3.jar) ...
将kafka流表插入到hive中 tableEnv.getConfig().setSqlDialect(SqlDialect.HIVE); tableEnv.executeSql("DROP TABLE IF EXISTS hivelogtab").print(); tableEnv.executeSql("CREATE TABLE hivelogtab ( id STRING,log STRING,op STRING)").print(); ...
实时数仓的构建一般是基于kafka的,一般分为ods层、dwd层和dws层。 基于成本考虑,当前大数据架构多采用kappa架构,故kafka流表中每一层的数据都需要落地到hive中。 Hive Catalog hadoop & hadoop依赖添加 <dependency><groupId>org.apache.hive</groupId><artifactId>hive-exec</artifactId><version>${hive.version}...
传统的入库任务一般借助于MapReduce或者Spark来写hive表,一般都是天级别最多小时级别的任务。随着实时性要求越来越高,传统的入库不太能满足需求。Flink完全基于流式处理,同时也支持了写Hive表。本文介绍一下如果通过FlinkSQL实现kafka数据入库hive,并能够实时可查。由于写hive表必须基于hive catalog,所以...
七、执行具体sql 将kafka流表插入到hive中 tableEnv.getConfig().setSqlDialect(SqlDialect.HIVE);tableEnv.executeSql("DROP TABLE IF EXISTS hivelogtab")