赞
踩
HiveCatalog 有两个用途:作为原生 Flink 元数据的持久化存储,以及作为读写现有 Hive 元数据的接口。 Flink 的 Hive 文档 提供了有关设置 HiveCatalog 以及访问现有 Hive 元数据的详细信息。
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-hive_${scala.binary.version}</artifactId>
<version>${flink.version}</version>
</dependency>
<!-- Hive Dependency -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>3.1.2</version>
</dependency>
nohup hive --service metastore >/dev/null 2>&1 &
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.setParallelism(1);
StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
String name = "myhive"; // Catalog名字
String defaultDatabase = "flink_test"; //默认数据库
String hiveConfDir = "c:/conf"; // hive配置文件的目录.需要把hive-site.xml添加到该目录
// 1.创建HiveCatalog
HiveCatalog hive = new HiveCatalog(name, defaultDatabase, hiveConfDir);
// 2.注册HiveCatalog
tEnv.registerCatalog(name, hive);
// 3.把HiveCatalog: myhive作为当前session的catalog
tEnv.useCatalog(name);
tEnv.useDatabase("flink_test");
tEnv.sqlQuery("select from stu").execute().print();
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。