开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

现在flink dataset写入hive有啥好的方式了么?

现在flink dataset写入hive有啥好的方式了么?

展开
收起
真的很搞笑 2023-08-09 13:13:52 138 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Flink写入Hive主要有如下几种方式:

    Flink SQL连接Hive
    使用Flink内置的Hive数据源,在Flink SQL中将查询结果写入Hive表:

    sql
    Copy
    INSERT INTO TABLE hive_table
    SELECT * FROM ...
    HiveConnector
    使用Flink提供的HiveConnector连接器,将DataSet写入Hive:

    java
    Copy
    tableEnvironment.connect(new HiveCatalog("db"))
    .executeInsert("table", dataSet);
    Hive UDF
    定义Hive UDF加载Flink Jar,在Hive中使用UDF将DataSet插入表:

    java
    Copy
    public void insert(Row... rows) {
    // insert to hive
    }
    Flink SQL动态表
    使用动态表将DataSet注册为Flink Table,再写入Hive:

    java
    Copy
    tableEnv.fromDataSet(data)...executeInsert("hive_table")
    File Sink + Hive命令
    将DataSet存文件的方式,在Hive中使用LOAD DATA导入表

    以上方式都可以很好地实现Flink DataSet到Hive的写入操作。选择需要考虑项目场景和数据量等因素。

    2023-08-10 17:27:09
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载