开发者社区> 问答> 正文

Flink 1.11.2 读写Hive以及对hive的版本支持

Flink.11.2操作hive时,对hive的版本支持是怎样的

看官网介绍是支持1.0、1.1、1.2、2.0、2.1、2.2、2.3、3.1 我的执行环境:

Flink : 1.11.2 Haoop : 2.6.0-cdh5.8.3 Hive : 1.1.0-cdh5.8.3 Job运行方式 : on yarn

同时对读写hive的demo,我不知道我写的是否正确:

public static void main(String[] args) throws Exception {

EnvironmentSettings settings = EnvironmentSettings .newInstance() .useBlinkPlanner() .inBatchMode() .build();

TableEnvironment tableEnv = TableEnvironment.create(settings);

String name = "myhive"; String defaultDatabase = "datafeed"; String hiveConfDir = "/opt/app/bigdata/hive-1.1.0-cdh5.8.3/conf"; // hive-site.xml路径 String version = "1.1.0-cdh5.8.3";

HiveCatalog hive = new HiveCatalog(name, defaultDatabase, hiveConfDir, version);

tableEnv.registerCatalog("myhive", hive); tableEnv.useCatalog("myhive"); String createDbSql = "INSERT INTO TABLE flink2hive_test VALUES ('55', "333", "CHN")"; tableEnv.sqlUpdate(createDbSql); }

这样的job提交到yarn会报错:

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapreduce.TaskAttemptContext

是缺少MapReduce的相关包吗?*来自志愿者整理的flink邮件归档

展开
收起
又出bug了-- 2021-12-02 11:40:42 628 0
1 条回答
写回答
取消 提交回答
  • 嗨。提供一个解决的思路 

    1.缺包 

    2在yarn 的环境下缺包,可以把缺的包 放在集群统一的位置,在提交命令时,指名所在包的位置。*来自志愿者整理的FLINK邮件归档

    2021-12-02 14:23:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hive Bucketing in Apache Spark 立即下载
spark替代HIVE实现ETL作业 立即下载
2019大数据技术公开课第五季—Hive迁移到MaxCompute最佳实践 立即下载