问题标签 [google-cloud-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 回答
111 浏览

java - 为什么 google dataproc 不提取 coreNLP jars,尽管它们包含在 POM 文件中?

我的应用程序是一个使用 Spark 的 java maven 项目。这是我的 pom 中添加 stanford coreNLP 依赖项的部分:

我收到以下错误:

还有其他依赖项,例如 Spark,并且 dataproc 可以很好地提取它们。现在我添加了 coreNLP,它在我的笔记本电脑上运行良好,但在 google dataproc 中失败了。

0 投票
3 回答
1850 浏览

google-cloud-platform - 不使用时如何终止dataproc集群?

我有一个接受用户工作的系统。这些作业在 dataproc 上作为 spark 作业运行。白天有很多工作在运行,但晚上可能没有。我想知道在这些停机期间终止集群并在收到新作业后重新启动或重新创建集群的最佳方法是什么?这里的目标是在不活动期间不收费。

0 投票
1 回答
9345 浏览

apache-spark - 如何为 PySpark 的窗口功能设置分区?

我正在运行 PySpark 作业,并且收到以下消息:

该消息表示什么,以及如何为 Window 操作定义分区?

编辑:

我正在尝试对整个列进行排名。

我的数据组织为:

而且我要:

我认为不应该为此使用 .partitionBy(),只有 .orderBy()。问题是,这似乎会导致性能下降。有没有另一种方法可以在没有 Window 功能的情况下实现这一目标?

如果我按第一列分区,结果将是:

这是我不想要的。

0 投票
1 回答
2001 浏览

google-cloud-dataproc - 在 DataProc 上运行 Spark 时如何对新作业进行排队

如何向 Google Dataproc (PySpark) 提交多个作业并将不适合当前执行程序的作业排队?

仅提交作业不适用于排队,这里是任何以下作业的输出:

为此,YARN 应采用“队列”参数。但是,我找不到任何关于将它与 dataproc 一起使用的文档...?

0 投票
2 回答
2667 浏览

google-cloud-sql - 如何从 dataproc 访问 Cloud SQL?

我有一个 dataproc 集群,我想让集群访问 Cloud SQL 实例。当我创建集群时,我分配了范围--scopes sql-admin,但在阅读了Cloud SQL 文档后,看起来我需要通过代理进行连接。如何配置它以从 dataproc 访问?

更新:

在集成开箱即用(@vadim 的回答)之前,我可以通过在我的 dataproc 初始化脚本中使用云代理来完成这项工作:

(注意:端口 3306 已被使用,所以我在这里使用 3307)

0 投票
1 回答
640 浏览

google-cloud-dataproc - 如何调查失败的 dataproc 工作进程?

我正在运行 PySpark 作业,但无法确定工作进程失败的原因。

在我的作业运行时,我开始注意到作业输出中的堆栈跟踪,例如:

我还会注意到集群的整体 CPU 使用率随着工作节点故障而缓慢下降。这些节点似乎永久失败并且不会重新加入集群:

在此处输入图像描述

我正在使用可抢占的机器,但是当我检查这些机器的状态时,它们仍在运行并且没有被抢占。所以我猜它对工人有问题:

在此处输入图像描述

0 投票
1 回答
389 浏览

google-cloud-dataproc - 如何在 PySpark 作业中检索 Dataproc 的 jobId

我运行了几个批处理作业,我想将 dataproc 中的 jobId 引用到保存的输出文件。

这将允许拥有与结果相关的参数和输出的所有日志。缺点仍然存在:作为 YARN 中的 executors 过去,无法再获取单个 executor 的日志。

0 投票
0 回答
791 浏览

scala - 尝试运行 Spark 作业时 Dataproc 挂起

我在 scala 中有一个 spark Job,它从云存储中读取,执行一些操作并写入大查询。它在我的本地(主本地 [*] 部署模式客户端)上运行良好,但在 dataproc 上,它分配执行器,似乎超过了计划阶段并在尝试执行作业时挂起。

代码:

时间线: 在此处输入图像描述

日志:

主线:

0 投票
0 回答
405 浏览

google-bigquery - 如何将分区数据写入文件名中具有分区值的文件?

我按月从 RDBMS 中卸载了一堆数据,并根据该月将其加载到 Google Cloud Storage (GCS) 中。然后,我将整个数据集读入 dataproc 集群上的 pyspark 数据帧中,并希望根据天而不是月份将其重新写入 GCS。我已成功写入云存储,其中每个文件仅包含某个日期,但未能有效地根据该日期命名文件或目录。下面的代码做了我想做的事,但效率很低。我也知道理论上我可以通过使用镶木地板文件来解决这个问题,但我的要求是写成 CSV。最终,我想每天将这些数据加载到 bigquery 中,如果有一个更容易的解决方案(然后我可以将每个每天的表导出到文件中)。

所以说我读入的数据有日期 ['2014-01-01', '2014-01-02', '2014-01-03'] 我希望生成的文件/目录看起来像这样:

gs://buck_1/AUDIT/2014-01-01/part-1
gs://buck_1/AUDIT/2014-01-01/part-2
gs://buck_1/AUDIT/2014-01-01/part- 3
gs://buck_1/AUDIT/2014-01-01/part-4

gs://buck_1/AUDIT/2014-01-02/part-1
gs://buck_1/AUDIT/2014-01-02/part-2
gs://buck_1/AUDIT/2014-01-02/part- 3
gs://buck_1/AUDIT/2014-01-02/part-4

gs://buck_1/AUDIT/2014-01-03/part-1
gs://buck_1/AUDIT/2014-01-03/part-2
gs://buck_1/AUDIT/2014-01-03/part- 3
gs://buck_1/AUDIT/2014-01-03/part-4

0 投票
1 回答
272 浏览

apache-spark - 如何指定/检查 Dataproc 集群上的分区数

如果我启动一个由 1 台主 n1-standard-4 和 4 台工作机器(也是 n1-standard-4)组成的 Dataproc 集群,我如何知道默认创建了多少个分区?如果我想确保我有 32 个分区,我在 PySpark 脚本中使用什么语法?我正在从 Google 存储桶中读取 .csv 文件。

是不是简单

如何判断正在运行的分区数量(使用 Dataproc 作业输出屏幕?

谢谢