使用apache超集或redash的spark thrift服务器中的nullpointerexception

cedebl8k  于 2021-07-12  发布在  Spark
关注(0)|答案(0)|浏览(304)

在将诸如redash或superset之类的bi工具连接到spark-thriftserver(两个工具都使用pyhive)之后,我得到了一个nullpointerexception。ApacheZeppelin在使用sts的查询中工作得很好,我永远无法再现那里的错误(zeppelin使用org.apache.hive.jdbc.hivedriver)。

DB engine Error
hive error: ('Query error', 'Error running query: java.lang.NullPointerException')

这会将sts发送到一个只有重启才能将其恢复的状态。来自所有客户机的查询都将失败(齐柏林飞艇、beeline、redash、superset)。它似乎主要发生在模式自动获取时(这不太有效,db name获取正确,表名错误)。在浏览pyhive代码时,我遇到了pyhive<->sts之间的一些不兼容(比如这个和这个)。redash/superset和sts之间的连接工作正常,我可以进行查询,直到thriftserver进入断开状态。
我理解为什么模式刷新不起作用(也许可以解决这个问题),但是我不理解为什么thriftserver会进入一个不可恢复的、中断的状态,出现nullpointerexception。
我的设置:
Kubernetes
数据格式为delta的delta湖
Hive元存储
启动spark thriftserver的spark群集: start-thriftserver.sh --total-executor-cores 3 --driver-memory 3G --executor-memory 1536M --hiveconf hive.server2.thrift.port 10000 --hiveconf hive.server2.thrift.max.worker.threads 2000 --hiveconf hive.server2.thrift.bind.host my-host (我也试过了 spark.sql.thriftServer.incrementalCollect=false 但这并没有影响任何事情。)
连接到sts的redash/apache超集

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题