请原谅我带来的不便,但我没有在Doc或Internet上找到答案。
我有一个平台:
我已经集成了Flink 1.1.3以在本地模式和纱线模式下使用它。
我有兴趣使用Flink with Hive(作为带有Spark的hiveContext)来读取scala-shell中的数据,是否可能?怎么样?
问候。
答案 0 :(得分:2)
Flink不支持与Hive的直接连接,因为Spark with SQL context支持它。但是有一种使用Flink Table API
分析Flink中Hive表中数据的简单方法您需要做的是首先获取您希望使用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");
然后,您需要从DataSet创建一个表,然后将其注册到TableEnvironment
Table mytable = tableEnv.fromDataSet(csvInput);
tableEnv.registerTable("mytable", mytable );
现在,您已准备好使用Table API语法查询此表。
以下是示例代码的link。
希望这会有所帮助。
答案 1 :(得分:0)
从Flink 1.9.0开始,我们正式支持Hive与Flink。 https://ci.apache.org/projects/flink/flink-docs-master/dev/table/hive/
您还在寻找此选项吗?