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

hadoop - 在本地计算机上运行 Dataproc BigQuery 示例

我正在尝试在本地计算机上运行连接器示例,但不断收到 UnknownHostException。如何使用 Hadoop 连接器配置对 BigQuery 的访问?

但我明白了UnknownHostException

我似乎需要设置访问凭据或权限..但我没有看到任何有关此的文档。

我从https://console.developers.google.com/project/ /apiui/credential 下载了凭据并进行了设置,GOOGLE_APPLICATION_CREDENTIALS但这似乎不起作用。

有什么帮助吗?

0 投票
1 回答
480 浏览

apache-spark-sql - 来自 sbt scala 的 google dataproc 上的 spark-sql

使用 Google Dataproc Spark 集群,我的 sbt 构建的程序集 jar 可以通过 SparkContext 访问 Cassandra。

但是,当我尝试通过 sqlContext 访问时,我得到了在远程集群上找不到的 spark sql 类——尽管我相信应该为 spark sql 配置 dataproc 集群。

我的 sbt 文件:

关闭 spark-sql 上的“提供”会使我陷入 jar 重复合并地狱。

感谢您的帮助。

0 投票
1 回答
1363 浏览

apache-spark - PySpark 纱线应用程序在 groupBy 上失败

我正在尝试在处理从谷歌云存储读取的大量数据(2TB )的纱线模式下运行作业。

管道可以总结如下:

10GB数据上运行时,它可以毫无问题地完成。但是,当我在完整数据集上运行它时,它总是失败,并在容器中记录此日志:

我尝试通过连接到主服务器来逐个启动每个操作进行调查,但它似乎在groupBy上失败了。我还尝试通过添加节点并升级它们的内存和 CPU 数量来重新调整集群,但我仍然遇到同样的问题。

120 个节点 + 1 个具有相同规格的主节点:8 个 vCPU - 52GB 内存

我试图找到有类似问题的线程但没有成功,所以我真的不知道我应该提供什么信息,因为日志不是很清楚,所以请随时询问更多信息。

主键是每条记录的必需值,我们需要所有没有过滤器的键,大约代表 600k 键。真的可以在不将集群扩展到大规模的情况下执行此操作吗?我刚刚读到 databricks 对 100TB 的数据(https://databricks.com/blog/2014/10/10/spark-petabyte-sort.html)进行了排序,这也涉及到大规模的洗牌。他们成功地将多个内存缓冲区替换为单个缓冲区,从而导致大量磁盘 IO ?我的集群规模是否可以执行此类操作?

0 投票
0 回答
939 浏览

apache-spark - PySpark reduceByKey 导致内存不足

我正在尝试在处理从谷歌云存储读取的大量数据(2TB)的纱线模式下运行作业。我的管道适用于 10GB 的数据。我的集群的规格和我的管道开始在这里详细说明: PySpark Yarn Application failed on groupBy

这是管道的其余部分:

应用于分区的映射函数如下:

在整个数据集上,执行失败的原因是:

java.lang.OutOfMemoryError: Java heap space

我试图获取更多信息,但我reduceByKey已经mapPartitions看到在在减少之前,作业不会分成多个任务)

我的问题如下:为什么它只在 1 个执行器上运行?即使描述该功能的文档似乎符合我的想法mapPartitionshttp://spark.apache.org/docs/latest/programming-guide.html),这是失败还是应该在此之后工作groupByKey

编辑:我尝试使用较小数据集的较小集群,即使成功,也只有一个执行程序用于处理 groupByKey 之后的所有数据。此外,每个阶段之后都有多个分区,当我一个一个启动阶段时,groupByKey阶段在界面上的每个阶段都被标记为“待定”。

0 投票
1 回答
2129 浏览

google-cloud-dataproc - 使用 hadoop FileSystem api 访问谷歌云存储

在我的机器上,我配置了 hadoopcore-site.xml以识别该gs://方案并将 gcs-connector-1.2.8.jar 添加为 Hadoop 库。我可以运行hadoop fs -ls gs://mybucket/并获得预期的结果。但是,如果我尝试使用以下方法从 java 中进行模拟:

我在本地 HDFS 中而不是在根目录下获取文件gs://mybucket/,但这些文件以gs://mybucket. 如果我在获取 fs 之前修改了 conf conf.set("fs.default.name", "gs://mybucket");,那么我可以在 GCS 上看到文件。

我的问题是:
1.这是预期的行为吗?
2.相对于谷歌云存储客户端api,使用这个hadoop FileSystem api有什么缺点吗?

0 投票
1 回答
98 浏览

hadoop - 将 S3 连接器与 Cloud Dataproc 结合使用时出现 java.lang.VerifyError

我正在尝试将S3 连接器Google Cloud Dataproc一起使用,但遇到了java.lang.VerifyError. 这似乎发生在我没有修改过的全新集群上。这是一个例子:

如何解决此问题并将 S3 连接器与 Cloud Dataproc 结合使用?

0 投票
1 回答
11890 浏览

hadoop - Incorrect memory allocation for Yarn/Spark after automatic setup of Dataproc Cluster

I'm trying to run Spark jobs on a Dataproc cluster, but Spark will not start due to Yarn being misconfigured.

I receive the following error when running "spark-shell" from the shell (locally on the master), as well as when uploading a job through the web-GUI and the gcloud command line utility from my local machine:

I tried modifying the value in /etc/hadoop/conf/yarn-site.xml but it didn't change anything. I don't think it pulls the configuration from that file.

I've tried with multiple cluster combinations, at multiple sites (mainly Europe), and I only got this to work with the low memory version (4-cores, 15 gb memory).

I.e. this is only a problem on the nodes configured for memory higher than the yarn default allows.

0 投票
2 回答
4688 浏览

apache-spark - Dataproc 上的处理速度极慢 9 小时 vs 本地机器上的 3 分钟

从日志中我可以看到有 182k 行 70MB。在 Dataproc 上训练 182K 行需要 1.5 小时加载 70MB 数据和 9 小时(从 15/11/14 01:58:28 开始,到 15/11/14 09:19:09 结束)。在我的本地机器上加载相同的数据并运行相同的算法需要 3 分钟

数据处理日志

  1. 将数据复制到本地机器

    /li>
  2. 运行相同的算法。ALS 训练步骤耗时约 3 分钟

    /li>

第一次运行

第二轮

DataProc 集群有 1 个 Master 和 3 个 Slave,每个具有 104GB (RAM) 和 16 个 CPU。

我的本地机器有 8GB (RAM) 和 2 个 CPU 2.7GHz Core i5

0 投票
1 回答
417 浏览

apache-spark - pySpark fault tolerant configuration

I'm running long jobs (+ 3 hours) on a large Spark cluster on yarn mode. The VMs workers running spark are hosted on the Google Cloud Dataproc and most of them can be destroyed during execution (preemptible VMs that cost less).

When this happens, the job fails because tasks are failing on the destroyed worker with this error in the container logs of the failing worker :

I've tried setting spark.task.maxFailures to 1000 but this doesn't seem to be very effective : even though the job finishes, the tasks doesn't seem to be automatically re-distributed and the computation for the tasks assigned to this specific worker seem to roll back to the initial stage.

Would there be a way of having a more fault tolerant configuration that simply excludes unresponsive executors and re-assigns their tasks?

I could include the ressourcemanager logs, nodemanager and container logs if asked but I don't think it would be relevant.

0 投票
1 回答
842 浏览

google-cloud-dataproc - 在 Dataproc 中,如何访问 Spark 和 Hadoop 作业历史记录?

Google Cloud Dataproc中,我如何访问 Spark 或 Hadoop 作业历史服务器?我希望能够在运行作业时查看我的作业历史详细信息。