flink 1.1.3与hive 2.1.0交互

xyhw6mcr  于 2021-06-25  发布在  Flink
关注(0)|答案(2)|浏览(548)

抱歉给您带来不便,但我没有在医生或互联网上找到答案。
我有一个平台:
hadoop 2.7.3版
Hive2.1.0
hbase 1.2.4版
Spark1.6
我已经集成了Flink1.1.3在本地模式和Yarn模式上使用它。
我有兴趣使用flink和hive(作为带有spark的hivecontext)来读取scala shell中的数据,有可能吗?怎么做?
当做。

jucafojl

jucafojl1#

从flink 1.9.0开始,我们正式用hive支持flink。https://ci.apache.org/projects/flink/flink-docs-master/dev/table/hive/
你还在考虑这个选择吗?

dtcbnfnu

dtcbnfnu2#

flink不支持到配置单元的直接连接,因为spark with sql上下文支持它。但是在flink中有一种使用flink表api分析配置单元表中数据的简单方法
你需要做的是首先得到你想用flink分析的hive表的确切hdfs位置。

hdfs://app/hive/warehouse/mydb/mytable

然后你读取数据

DataSet<Record> csvInput = env
            .readCsvFile("hdfs://app/hive/warehouse/mydb/mytable/data.csv")
            .pojoType(MyClass.class, "col1", "col2", "col3");

然后需要从数据集创建一个表,然后将其注册到tableenvironment

Table mytable = tableEnv.fromDataSet(csvInput);
tableEnv.registerTable("mytable", mytable );

现在您都可以使用tableapi语法查询这个表了。
这里有一个到示例代码的链接。
希望这有帮助。

相关问题