当您在dataproc中启动配置单元会话时,可以添加gcs存储桶中的jar。 add jar gs://my-bucket/serde.jar;
我不想每次启动配置单元会话时都要添加所有需要的jar,所以我尝试将jar路径添加到hive.aux.jars.path属性中的hive-site.xml。
<property>
<name>hive.aux.jars.path</name>
<value>gs://my-bucket/serde.jar</value>
</property>
然后我在尝试启动配置单元会话时遇到这个错误。 Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: file://gs, expected: file:///
有没有办法将gcs存储桶中的自定义jar添加到配置单元类路径中,或者每次创建dataproc集群时都必须从存储桶中复制jar并更新hive.aux.jars.path?
- 编辑
即使添加了下面的属性并重新启动配置单元,我仍然会得到相同的错误。
<property>
<name>hive.exim.uri.scheme.whitelist</name>
<value>hdfs,pfile,gs</value>
<final>false</final>
</property>
2条答案
按热度按时间ldxq2e6h1#
我想你还需要设置属性
hive.exim.uri.scheme.whitelist
将gcs uri列入白名单。因此,在您的示例中,在创建dataproc集群时,设置属性
jqjz2hbq2#
这是一个已知的Hive虫(hive-18871)——
hive.aux.jars.path
在hive 3.1及更低版本中仅支持本地路径。解决方法是使用dataproc初始化操作,将jar从gcs复制到所有dataproc集群节点上的同一本地fs路径,并将此本地路径指定为
hive.aux.jars.path
财产。