首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地运行带有Hive亚稳态的Apache来测试Apache

如何在本地运行带有Hive亚稳态的Apache来测试Apache
EN

Stack Overflow用户
提问于 2022-03-16 11:44:53
回答 1查看 684关注 0票数 0

我想对Apache和进行一些修改,并在本地机器上测试这一点。我阅读了文档,但我仍然不确定要在本地设置什么才能运行。我已经做的是,我有一个本地启动的docker-compose文件,一个hadoop和-datanode,以及一个在Postgres中存储元数据的蜂窝服务器。

此外,我还设置了一个本地Flink项目(使用Scala2.12的Java项目)。在我的IDE中,除了默认的Flink依赖项之外,我还添加了版本为2.8.3的flink-clientsflink-table-api-java-bridgeflink-table-plannerflink-connector-hivehive-exechadoop-clientflink-hadoop-compatibility以及iceberg-flink-runtime-1.14依赖项。

然后,我尝试使用如下flink SQL语句创建一个简单的目录:

代码语言:javascript
复制
tEnv.executeSql(String.join("\n",
                "CREATE CATALOG iceberg_catalog WITH (",
              "'type'='iceberg', ",
              "'catalog-type'='hive', ",
              "'uri'='thrift://localhost:9083', ",
              "'warehouse'='hdfs://namenode:8020/warehouse/path')"));

之后,我将得到以下警告和堆栈跟踪:

代码语言:javascript
复制
12:11:43,869 WARN  org.apache.flink.runtime.util.HadoopUtils                    [] - Could not find Hadoop configuration via any of the supported methods (Flink configuration, environment variables).
12:11:44,203 INFO  org.apache.hadoop.hive.conf.HiveConf                         [] - Found configuration file null
12:11:44,607 WARN  org.apache.hadoop.util.NativeCodeLoader                      [] - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
12:11:44,816 ERROR org.apache.hadoop.hive.metastore.utils.MetaStoreUtils        [] - Got exception: java.lang.ClassCastException class [Ljava.lang.Object; cannot be cast to class [Ljava.net.URI; ([Ljava.lang.Object; and [Ljava.net.URI; are in module java.base of loader 'bootstrap')
java.lang.ClassCastException: class [Ljava.lang.Object; cannot be cast to class [Ljava.net.URI; ([Ljava.lang.Object; and [Ljava.net.URI; are in module java.base of loader 'bootstrap')
    at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.resolveUris(HiveMetaStoreClient.java:262) [hive-exec-3.1.2.jar:3.1.2]
    at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:182) [hive-exec-3.1.2.jar:3.1.2]

我阅读了这些文档,但我不确定在IDE之外(而不是在专用的Flink集群中,通过libs添加依赖项等)在本地运行所有这些需要什么。

如果你能告诉我我在这里错过了什么或者做错了什么,那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2022-03-26 11:38:23

请注意,目录表示冰山表的目录,而不是Hive的一部分。当你创建一个目录时,它不会在蜂巢中留下任何东西。

但是,当您使用Iceberg (比如“”)在这个单元目录中创建一个数据库时,您也会在蜂箱转移中看到它。

同样,当您使用hive创建表时,如果您使用hive desc formatted查看它,您将发现一个名为"table_type“的表属性,其值为"ICEBERG”。

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

https://stackoverflow.com/questions/71496532

复制
相关文章

相似问题

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