当从 delta 表中选择时,底层的 delta 会使用 hive 吗?

问题描述

我目前正在写一些与 hive hook 相关的东西。当我把罐子放在蜂巢上使用时,我发现了一些有趣的东西。

hive> select * from xxxxxx.post limit 1;
Failed: SemanticException Unable to determine if hdfs://ip1 /user/spark/warehouse/xxxxxx.db/post-__PLACEHOLDER__ is encrypted: org.apache.hadoop.hive.ql.Metadata.HiveException: org.apache.hadoop.net.ConnectTimeoutException: Call From ip2/ip2 to ip1:8020 Failed on socket timeout exception: org.apache.hadoop.net.ConnectTimeoutException: 20000 millis timeout while waiting for channel to be ready for connect. ch : java.nio.channels.socketChannel[connection-pending remote=ip1/ip1:8020]; For more details see:  http://wiki.apache.org/hadoop/SocketTimeout

ip1 是旧集群的ip, ip2 是新集群的 ip。 说明在使用 hive select * from 时,使用的是旧的 hive 元信息。 当我使用 thrift server select * from xxxxxx.post limit 1,但我得到了结果! 我现在很困惑,select * from delta table不使用hive了吗?如果使用hive,为什么不像hive那样报错?感觉是直接从delta log中获取数据的。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)