首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在纱线集群中运行时,flink如何识别hiveConfDir

在纱线集群中运行时,flink如何识别hiveConfDir
EN

Stack Overflow用户
提问于 2021-01-05 17:12:18
回答 1查看 57关注 0票数 0

我有以下代码来测试flink和hive集成。我通过flink run -m yarn-cluster ....提交申请。hiveConfDir是一个本地目录,驻留在我提交应用程序的机器上,我想问一下,当主类在集群中运行时,flink如何能够读取这个本地目录?谢谢!

代码语言:javascript
复制
package org.example.app

import org.apache.flink.streaming.api.scala._
import org.apache.flink.table.api.bridge.scala._
import org.apache.flink.table.catalog.hive.HiveCatalog
import org.apache.flink.types.Row

object FlinkBatchHiveTableIntegrationTest {
  def main(args: Array[String]): Unit = {
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    env.setParallelism(1)
    val tenv = StreamTableEnvironment.create(env)
    val name = "myHiveCatalog"
    val defaultDatabase = "default"
    //how does flink could read this local directory
    val hiveConfDir = "/apache-hive-2.3.7-bin/conf"
    val hive = new HiveCatalog(name, defaultDatabase, hiveConfDir)
    tenv.registerCatalog(name, hive)
    tenv.useCatalog(name)

    val sql =
      """
      select * from testdb.t1

      """.stripMargin(' ')

    val table = tenv.sqlQuery(sql)
    table.printSchema()


    table.toAppendStream[Row].print()

    env.execute("FlinkHiveIntegrationTest")

  }

}
EN

回答 1

Stack Overflow用户

发布于 2021-01-06 09:22:14

看起来我找到了答案。应用程序是通过flink run -m yarn-cluster.By以这种方式提交的,应用程序的main方法在安装了配置单元的客户端运行,因此可以读取配置单元的conf dir。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65575979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档