问题标签 [dataproc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
201 浏览

google-cloud-dataproc - 如何在 dataproc 上运行 hudi 并写入 gcs 存储桶

我想使用 hudi 从 dataproc 写入 gcs 存储桶。

要使用 hudi 写入 gcs,它说将 prop fs.defaultFS 设置为值 gs:// ( https://hudi.apache.org/docs/gcs_hoodie )

但是,当我将 dataproc 上的 fs.defaultFS 设置为 gcs 存储桶时,我在启动时遇到与无法找到我的 jar 的作业有关的错误。它正在查找 gs:/ 前缀,大概是因为我已经覆盖了之前使用 find the jar 的 defaultFs。我将如何解决这个问题?

如果相关,我将在代码中设置 defaultFs。sparkConfig.set("spark.hadoop.fs.defaultFS", gs://defaultFs)

0 投票
2 回答
99 浏览

apache-spark - Dataproc 未使用 pyspark 并行处理大数据

我在 GCP 中启动了一个 DataProc 集群,有一个主节点和 3 个工作节点。每个节点有 8 个 vCPU 和 30G 内存。

我开发了一个 pyspark 代码,它从 GCS 读取一个 csv 文件。csv 文件大小约为 30G。

这是我将 pyspark 启动到 dataproc 中的方式:

我得到的分区号只有 1。

我在此处附上了节点使用情况图片供您参考。 在此处输入图像描述

似乎它只使用了来自一个工作节点的一个 vCore。

如何使其与多个分区并行并使用所有节点和更多 vCore?

尝试重新分区到 20,但它仍然只使用了一个工作节点的一个 vCore,如下所示:

在此处输入图像描述

Pyspark 默认分区是 200。所以我很惊讶地看到 dataproc 没有将所有可用资源用于此类任务。

0 投票
3 回答
247 浏览

google-cloud-platform - GCP |Dataproc|如何创建持久的 HDFS 卷意味着即使您删除了 dataproc 集群也不应该删除 HDFS?可能吗?

GCP dataproc - 当您终止 dataproc 集群时,HDFS 会自动删除。即使您删除了不应删除 HDFS 的 dataproc 集群,如何使其持久化 HDFS?可能吗?

0 投票
0 回答
25 浏览

apache-spark - 如何从 sparksql 获取查询结果?

当我在 GCP dataproc 上提交 SparkSQL 作业时,它会报告处理结果。如果我想在我的程序上获取查询结果怎么办?我可以考虑使用 Spark 作业并将数据帧保存在云存储中,以便我的程序访问它。还有其他更有效的方法吗?谢谢!

0 投票
0 回答
43 浏览

hadoop-yarn - YARN 运行 sparklyr 中的待处理内存

我在 GCP 中的 Dataproc 上运行 Apache Spark 并通过sparklyr. 在我的配置中,我在启用自动缩放的情况下运行。因此,一旦创建 sc,它就会在 YARN 中显示为一个应用程序,我可以使用 YARN 界面监控容量。

当我执行 sparklyr 代码时,在我的 Dataproc 界面中,它还指示称为 YARN Pending memory 的东西。我的问题是,如果我在 YARN 中将 sparklyr 作为单个应用程序运行,那么这个 YARN 未决内存意味着什么。

0 投票
1 回答
209 浏览

google-cloud-platform - Google Dataproc pySpark 在公共 BigQuery 表上运行缓慢

我正在尝试在这个谷歌公共 BigQuery 表上使用 pySpark (表大小:268.42 GB,行数:611,647,042)。我将集群的区域设置为 US(与BigQuery表相同),但即使在集群中使用多台高性能机器时,代码也非常慢。知道为什么吗?我应该在我的存储桶中创建公共BigQuery表的副本吗?如果是,如何?

0 投票
0 回答
56 浏览

google-cloud-dataproc - Dataproc 作业未提供任何输出

我通过气流提交了火花作业,有时作业有效,有时根本没有输出。即使经过 2-3 小时的等待工作,除了 Waiting for job output...

我在用dataproc-1-4-deb10

它的工作很简单,比如使用 pysaprk 从 jdbc 中提取数据。它有时也可以正常工作,有时根本不会。

0 投票
0 回答
21 浏览

google-cloud-platform - 打开集群 Web 界面时出现问题(错误请求)

我配置了 2 个相同的 dataproc 集群,但其中一个没有打开任何 Web 界面,我想打开 JupyterLab 但我只收到错误“错误请求”。有谁知道它可能是什么?

0 投票
0 回答
27 浏览

google-bigquery - 在 Dataproc 中为 BQ 数据初始化 sql 查询时出现错误

在以下代码运行时:

我收到以下错误:

我不确定我应该放什么而不是数据集。

0 投票
0 回答
101 浏览

python - 如果通过气流首次尝试创建失败,如何创建具有不同配置的 dataproc 集群

我正在使用 GCP Dataproc 和 Airflow 开发数据解决方案。

虽然通过 Airflow 创建 dataproc 集群很容易使用 DataprocCreateClusterOperator,但挑战是当 dataproc 集群创建由于正当原因而失败时 - 集群区域中的 IP 耗尽等。

我们为此尝试了两种方法-

  1. 使用继承自 DataprocCreateClusterOperator 的自定义运算符:使用它我们能够实现集群创建,但我们无法检查任务的 retry_number(由于自定义运算符中的 provider_context=True 参数不可用,这有助于 task_instance 对象)

  2. 使用 Python 运算符调用 DataprocCreateClusterOperator(接受 provider_context=True 并可以检查任务 retry_number):在这种情况下,python 运算符执行成功,但不会创建 dataproc 集群。

还有其他方法,例如在 Airflow 中分支,但这将有以下问题 -

  1. 代码冗余

  2. 为第一次和后续重试分别配置多个 dataproc。使用 PythonOperator 和 CustomOperator,可以以编程方式更新 Config。

如果在第一次任务运行中创建失败,是否有其他方法可以创建具有不同配置的 dataproc 集群。