Apache spark Google Cloud Dataproc drop BigQuery表不工作

Apache spark Google Cloud Dataproc drop BigQuery表不工作,apache-spark,google-cloud-platform,google-bigquery,google-cloud-dataproc,Apache Spark,Google Cloud Platform,Google Bigquery,Google Cloud Dataproc,您好,我尝试在Dataproc中使用从BigQuery中删除表,启动spark shell如下: sparkshell-packages com.google.cloud:googlecloud-bigquery:1.59.0 并导入以下依赖项 import com.google.cloud.bigquery.bigquery; 导入com.google.cloud.bigquery.BigQueryOptions; 导入com.google.cloud.bigquery.FieldValue

您好,我尝试在Dataproc中使用从BigQuery中删除表,启动spark shell如下:

sparkshell-packages com.google.cloud:googlecloud-bigquery:1.59.0
并导入以下依赖项

import com.google.cloud.bigquery.bigquery;
导入com.google.cloud.bigquery.BigQueryOptions;
导入com.google.cloud.bigquery.FieldValueList;
导入com.google.cloud.bigquery.Job;
导入com.google.cloud.bigquery.JobId;
导入com.google.cloud.bigquery.JobInfo;
导入com.google.cloud.bigquery.QueryJobConfiguration;
导入com.google.cloud.bigquery.QueryResponse;
导入com.google.cloud.bigquery.TableResult;
导入java.util.UUID;
val bigquery=BigQueryOptions.getDefaultInstance().getService()
删除(“测试”、“临时”)
这里test和temp分别是我的数据集和表名,但在运行上述语句后显示以下错误:

java.lang.NoSuchMethodError:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
位于com.google.api.gax.retrying.BasicRetryingFuture(BasicRetryingFuture.java:82)
在com.google.api.gax.retrying.DirectRetryingExecutor.createFuture(DirectRetryingExecutor.java:88)
在com.google.api.gax.retrying.DirectRetryingExecutor.createFuture(DirectRetryingExecutor.java:74)
位于com.google.cloud.RetryHelper.run(RetryHelper.java:75)
位于com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:50)
在com.google.cloud.bigquery.BigQueryImpl.delete上(BigQueryImpl.java:386)
在com.google.cloud.bigquery.BigQueryImpl.delete上(BigQueryImpl.java:375)
... 48删去

这是因为在类路径上有一个旧版本(作为Hadoop/Spark依赖项提供),它没有
更多的executors.directExecutor
方法

要解决此问题,您需要将和(避免与类路径上的其他库发生冲突)
googlecloudbigquery
library及其依赖项(包括Guava)包含在应用程序的


一个如何使用插件的示例。

检查访问控制@Bira感谢共享链接,我尝试设置admin user并再次尝试,但上面显示了相同的错误。