- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
阅读此 repo 下的说明:Google Cloud Storage and BigQuery connectors我按照以下初始化操作创建了一个新的 Dataproc 集群,其中安装了特定版本的 Google Cloud Storage 和 BigQuery 连接器:
gcloud beta dataproc clusters create christos-test \
--region europe-west1 \
--subnet <a subnet zone> \
--optional-components=ANACONDA,JUPYTER \
--enable-component-gateway \
--initialization-actions gs://<bucket-name>/init-scripts/v.0.0.1/connectors.sh \
--metadata gcs-connector-version=1.9.16 \
--metadata bigquery-connector-version=0.13.16 \
--zone europe-west1-b \
--master-machine-type n1-standard-4 \
--worker-boot-disk-size 500 \
--image=<an-image> \
--project=<a-project-id> \
--service-account=composer-dev@vf-eng-ca-nonlive.iam.gserviceaccount.com \
--no-address \
--max-age=5h \
--max-idle=1h \
--labels=<owner>=christos,<team>=group \
--tags=allow-internal-dataproc-dev,allow-ssh-from-management-zone,allow-ssh-from-management-zone2 \
--properties=core:fs.gs.implicit.dir.repair.enable=false
如您所见,我必须将外部依赖项添加到我自己的存储桶中:gs://init-dependencies-big-20824/init-scripts/v.0.0.1/connectors.sh
。根据 scipt 的说明(我指的是 connector.sh
脚本),我还必须在此存储桶中添加以下 jars:
脚本运行正常,集群创建成功。但是,通过 Jupyter
使用 PySpark
notebook 仍然会导致 BigQuery
“找不到类”异常。当我直接从终端运行 PySpark
时,也会发生同样的情况。我能够避免该异常的唯一方法是在我的文件中复制另一个 jar
(这次是 spark-bigquery_2.11-0.8.1-beta-shaded.jar
)集群的主节点并启动 PySpark
:
pyspark --jars spark-bigquery_2.11-0.8.1-beta-shaded.jar
显然,这达到了目的。
我做错了什么?我考虑过更改 connector.sh
脚本以包含另一个 copy
函数,因此复制 spark-bigquery_2.11-0.8.1-beta-shaded.jar
在 /usr/lib/hadoop/lib
下,所以我尝试手动复制这个 jar
并启动 PySpark
但这仍然没有没工作...
最佳答案
连接器初始化操作仅适用于 Cloud Storage和 BigQuery来自 GoogleCloudDataproc/hadoop-connectors 的 Hadoop 连接器.
如果您使用的是 Spark,通常您不应将 BigQuery 连接器用于 Hadoop,因为有较新的 BigQuery connector对于 spark-bigquery-connector 中的 Spark您已经使用 --jars
参数添加的存储库。
要在集群创建期间安装 Spark BigQuery 连接器,您需要编写自己的初始化操作,将其复制到集群节点上的 /usr/lib/spark/jars/
目录中。请注意,您不需要复制 connectors init 操作中的所有代码,只需将 Spark BigQuery connector shaded jar 从您的 Cloud Storage 存储桶复制到 /usr/lib/spark/jars/
目录:
gsutil cp gs://path/to/spark-bigquery-connector.jar /usr/lib/spark/jars/
更好的方法可能是将 Spark BigQuery 连接器与其他依赖项一起嵌入到您的应用程序分发中。
Connectors initialization action现在支持 Spark BigQuery 连接器,可用于在集群创建期间在 Dataproc 集群上安装 Spark BigQuery 连接器:
REGION=<region>
CLUSTER_NAME=<cluster_name>
gcloud dataproc clusters create ${CLUSTER_NAME} \
--region ${REGION} \
--initialization-actions gs://goog-dataproc-initialization-actions-${REGION}/connectors/connectors.sh \
--metadata spark-bigquery-connector-version=0.15.1-beta
关于apache-spark - 使用 Spark BigQuery 连接器启动 Dataproc 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58199850/
我有一个初始化脚本,它从我们的本地工件存储库下载一个 .jar,并将其放入集群上每个节点上的 /usr/local/bin 中。我可以使用 运行它 gcloud dataproc jobs submi
我创建了一个简单的管道,它从 SQL Server 表读取并写入 BigQuery 表。然后我将其配置为使用 Spark 并部署和运行。它首先配置 dataproc 集群,我可以看到它相对快速地创建了
我正在尝试使用云指标监控 Dataproc 2.0 上的本地磁盘使用情况(百分比)。这对于监视 Spark 临时文件填满磁盘的情况很有用。 默认情况下,Dataproc 似乎只发送本地磁盘性能指标、C
我希望在我的 dataproc 集群的每个节点上设置一个环境变量,以便它可用于将在该集群上运行的 pyspark 作业。做这个的最好方式是什么? 我想知道是否有办法使用 Compute Engine
我正在尝试在 Dataproc 工作流模板中设置自动区域放置 我正在尝试在 Dataproc 工作流模板中设置自动区域放置,就像在 create a cluster 时所做的一样没有模板工作流 谷歌云
我正在考虑运行一个托管 Hive 服务器的持久性 GCP Dataproc 集群,该集群将提供 HiveQL 接口(interface),用于查询和更新存储在 Google Cloud Storage
刚开始熟悉 GCP dataproc。我注意到当我使用 gcloud dataproc jobs submit pyspark 时,作业是使用 spark.submit.deployMode=clie
我正在运行 PySpark 作业,但我无法确定工作进程失败的原因。 当我的作业正在运行时,我开始注意到作业输出中的堆栈跟踪,例如: 16/04/10 03:24:21 WARN org.apache.
我正在考虑运行一个托管 Hive 服务器的持久性 GCP Dataproc 集群,该集群将提供 HiveQL 接口(interface),用于查询和更新存储在 Google Cloud Storage
我正在尝试使用初始化脚本设置集群,但出现以下错误:[错误的 JSON:JSON 解析错误:意外的标识符“Google”]在日志文件夹中,初始化脚本输出日志不存在。这看起来很奇怪,因为它似乎在上周工作,
dataproc spark 作业日志位于何处?我知道“日志记录”部分下有来自驱动程序的日志,但是执行节点呢?另外,Spark 正在执行的详细步骤记录在哪里(我知道我可以在 Application M
我在 1 个集群上使用 Dataproc 和 1 个作业。 我想在创建集群后立即开始我的工作。我发现实现此目的的最佳方法是使用如下初始化脚本提交作业。 function submit_job() {
如何将参数传递到 dataproc pyspark 作业提交中调用的 python 脚本中?这是我一直在使用的命令: gcloud dataproc jobs submit pyspark --cl
Dataproc 没有与 Apache Ranger 和 Apache Sentry 的内置集成。那么Hive中推荐的用户授权方式是什么? 我是 Dataproc 的新手,您的回答真的很有帮助。 最佳
我使用 mysql 客户端从 dataproc 的主节点登录到 mysql 服务器,但现在失败了。 使用以下命令 mysql -uroot -p 我现在看到以下错误消息。 mysql: [Warnin
我想使用 Jupyter/iPython在 Cloud Dataproc .如何在创建新集群时自动安装和配置它? 最佳答案 Cloud Dataproc 团队有一个 GitHub repository
调试很慢。不清楚是否接受多个参数。文档字符串错误/不标准。 例如我们可以这样做: --initialization-actions a b c 当它失败时,如何在几秒钟而不是几分钟内调试......即
在创建我们的 Dataproc Spark 集群时,我们通过--properties spark:spark.jars.packages=mysql:mysql-connector-java:6.0.
我正在使用 Dataproc 工作流模板来运行 Sparkjob。我想将输入文件动态传递给 Sparkjob args,同时通过 Dataproc 工作流模板实例化它。我怎样才能实现它? 最佳答案 见
我运行多个批处理作业,我想将 dataproc 中的 jobId 引用到保存的输出文件中。 这将允许所有参数日志和与结果相关的输出。缺点仍然存在:随着 YARN 中的执行器消失,无法再获取单个执行器的
我是一名优秀的程序员,十分优秀!