我正在尝试使用驻留在 GCP Dataproc 中的 Livy 运行我的应用程序,但我收到以下消息:“由:java.lang.ClassNotFoundException:bigquery.DefaultSource”引起”
我能够在 Dataproc 内运行 hadoop fs -ls gs://xxxx 并检查 Spark 是否指向正确的位置以便找到 gcs-connector.jar,这没问题也是。
我使用初始化将 Livy 包含在 Dataproc 中 ( https://github.com/GoogleCloudDataproc/initialization-actions/blob/master/livy/ )
如何将 bigquery-connector 包含在 Livy 的类路径中? 请问你能帮帮我吗? 谢谢大家!
最佳答案
您的应用程序似乎依赖于 BigQuery 连接器,而不是 GCS 连接器 (bigquery.DefaultSource
)。
默认情况下,GCS 连接器应始终包含在 HADOOP 类路径中,但您必须手动将 BigQuery 连接器 jar 添加到应用程序中。
假设这是一个 Spark 应用程序,您可以设置 Spark jar 属性以在运行时从 GCS 中提取 bigquery 连接器 jar:spark.jars='gs://spark-lib/bigquery/spark-bigquery -latest_2.12.jar'
有关更多安装选项,请参阅 https://github.com/GoogleCloudDataproc/spark-bigquery-connector/blob/master/README.md
关于apache-spark - 如何使用 Livy 将 BigQuery Connector 包含在 Dataproc 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68215418/