首页 > 解决方案 > 如何使用 Livy 在 Dataproc 中包含 BigQuery 连接器

问题描述

我正在尝试使用位于 GCP Dataproc 中的 Livy 运行我的应用程序,但我得到了这个:“ Caused by: 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/

如何在 Livy 的类路径中包含 bigquery-connector?请问你能帮帮我吗?谢谢你们!

标签: apache-sparkgoogle-cloud-dataproclivy

解决方案


看起来您的应用程序依赖于 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


推荐阅读