抱歉给您带来不便,但我没有在医生或互联网上找到答案。我有一个平台:hadoop 2.7.3版Hive2.1.0hbase 1.2.4版Spark1.6我已经集成了Flink1.1.3在本地模式和Yarn模式上使用它。我有兴趣使用flink和hive(作为带有spark的hivecontext)来读取scala shell中的数据,有可能吗?怎么做?当做。
jucafojl1#
从flink 1.9.0开始,我们正式用hive支持flink。https://ci.apache.org/projects/flink/flink-docs-master/dev/table/hive/你还在考虑这个选择吗?
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语法查询这个表了。这里有一个到示例代码的链接。希望这有帮助。
2条答案
按热度按时间jucafojl1#
从flink 1.9.0开始,我们正式用hive支持flink。https://ci.apache.org/projects/flink/flink-docs-master/dev/table/hive/
你还在考虑这个选择吗?
dtcbnfnu2#
flink不支持到配置单元的直接连接,因为spark with sql上下文支持它。但是在flink中有一种使用flink表api分析配置单元表中数据的简单方法
你需要做的是首先得到你想用flink分析的hive表的确切hdfs位置。
然后你读取数据
然后需要从数据集创建一个表,然后将其注册到tableenvironment
现在您都可以使用tableapi语法查询这个表了。
这里有一个到示例代码的链接。
希望这有帮助。