问题标签 [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.
apache-spark - 集群模式下如何提交spark作业?
我知道这方面的信息值得 10 个谷歌页面,但是,所有这些信息都告诉我只需--master yarn
输入spark-submit
命令。但是,在集群模式下,我的本地笔记本电脑怎么可能知道这意味着什么?假设我有我的笔记本电脑和一个正在运行的 dataproc 集群。如何使用笔记本电脑上的 spark-submit 向该集群提交作业?
apache-spark - PySpark runs in YARN client mode but fails in cluster mode for "User did not initialize spark context!"
- standard dataproc image 2.0
- Ubuntu 18.04 LTS
- Hadoop 3.2
- Spark 3.1
I am testing to run a very simple script on dataproc pyspark cluster:
testing_dep.py
I can run testing_dep.py in a client mode (default on dataproc) just fine:
But, when I try to run the same job in cluster mode I get error:
error logs:
Can you please help me understand what I am doing wrong and why this code is failing?
python - 在 pyspark dataproc 集群中找不到 Textblob 模块
我使用 Dataproc 云进行火花计算。问题是我的工作节点无权访问 textblob 包。我该如何解决?我正在使用 pyspark 内核在 jupyter notebook 中编码
代码错误:
失败的示例代码:
apache-spark - 所有任务都已完成,但 dataproc spark 作业未结束
我正在运行 spark dataproc 作业。代码中的所有内容都完成了。我print('savedddd'); print(scores)
的代码的最后一行是我的代码,它也可以执行。
所有节点上的所有活动都变为 0。但 dataproc 作业并未结束。我的外壳打印出来22/01/13 19:29:15 INFO org.sparkproject.jetty.server.AbstractConnector: Stopped Spark@a69cfdd{HTTP/1.1, (http/1.1)}{0.0.0.0:0}
了,就是这样。终端仍然卡在那里。在作业选项卡中,作业不断显示为正在运行,我必须手动取消它。
你能帮我调试一下这个问题吗?
按照@Igor 的指示,我尝试使用jstack。我的尝试如下:
冉
sudo jps -mlvV
相关 pid 为 14961
我跑了
sudo jstack -l 14961
输出:
google-cloud-platform - 无法在 Dataproc 上打开 Jupyter 笔记本?
我已经创建了 GCP dataproc 集群,但我启用了网关并选择了 Anaconda 和 Jupyter notebook ,但是当我尝试打开 jupyter notebook时,弹出以下消息:
我能做些什么 ?
apache-spark - 了解 dataproc pyspark 中的 --archive
这是命令帮助所说的:
--archives=[ARCHIVE,...] 要提取到每个执行程序的工作目录的档案的逗号分隔列表。必须是以下文件格式之一:.zip、.tar、.tar.gz 或 .tgz。
而且,这里的答案告诉我,--archives
只会在工作节点上提取
我正在--archive
通过以下方式测试行为:tl;dr - 1. 我创建一个存档并压缩它。2. 我创建了一个简单的 rdd 并将其元素映射到os. walk('./')
. 3.archive.zip
被列为目录但os.walk
不遍历此分支
我的archive
目录:
测试代码:
Dataproc 运行命令:
输出:
驱动程序节点的输出:archive.zip
可用但未提取 -预期
worker node :的输出作为提取目录os.walk
列出。archive.zip
可用的 3 个目录是 ['archive.zip', '__spark_conf__', 'tmp']
. 但是,令我惊讶的是,只有./tmp
进一步遍历,仅此而已
我已经检查os.listdir
过它archive.zip
实际上是一个目录而不是一个 zip。它的结构是:
那么,为什么os.walk
不走下archive.zip
目录呢?
google-cloud-platform - 在 dataproc 上使用 PEX 环境打包 PySpark
我正在尝试使用 PEX 打包一个 pyspark 作业以在 google cloud dataproc 上运行,但出现Permission Denied
错误。
我已将我的第三方和本地依赖项打包到env.pex
一个使用这些依赖项的入口点到main.py
. 然后我gsutil cp
将这两个文件添加到gs://<PATH>
并运行下面的脚本。
我得到的错误是
我应该期望像这样打包我的环境吗?我没有看到更改file_uris
pyspark 作业配置中包含的文件权限的方法,也没有在 google cloud 上看到任何关于使用 PEX 打包的文档,但PySpark 官方文档包括本指南。
任何帮助表示赞赏 - 谢谢!
apache-spark - 当 pyspark 脚本中有多个操作时,为什么 dataproc 中只有 1 个作业 ID?
火花作业的定义是:
作业 - 由多个任务组成的并行计算,这些任务响应 Spark 操作(例如保存、收集)而产生;您会在驱动程序日志中看到该术语。
那么,为什么每个spark-submit
人在我可以看到的 dataproc 控制台中只创建一个作业 ID?
示例:以下应用程序应该有 2 个 Spark 作业
google-cloud-platform - GCP dataproc 在哪里存储笔记本实例?
Dataproc
我使用Jupyter Notebook
附加到它创建了一个 Spark 集群。然后我删除了集群,我认为笔记本已经不见了。但是,在创建另一个集群(连接到同一个集群Bucket
)之后,我可以看到我的旧笔记本。这是否意味着笔记本(或其检查点)存储在我的存储桶中?或者它们存储在哪里以及如何确保它们被删除?