问题标签 [google-hadoop]

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 回答
100 浏览

google-hadoop - GoogleHadoopFileSystemBase.setTimes() 不工作

我在我的java代码中有一个引用GoogleHadoopFileSystemBase,我正在尝试调用setTimes(Path p, long mtime, long atime)来修改文件的时间戳。尽管其他 FileSystem api 工作正常,但它似乎不起作用。从控制台 UI,我只能看到“最后上传”的时间。google文件系统是否只存储上传时间,从而忽略修改时间和访问时间的变化?我还使用检查了时间戳hadoop fs -ls gs://mybucket/,但该时间戳也显示为未更改。

0 投票
1 回答
149 浏览

google-hadoop - 从未成功构建过大型 hadoop&spark 集群

我想知道在使用 bdutil 工具部署 Spark 集群时是否有人可以帮助我解决这个问题。当核心总数增加(> = 1024)时,它一直失败,原因如下:

  1. 某些机器永远无法 sshable,例如“Tue Dec 8 13:45:14 PST 2015: 'hadoop-w-5' not yet sshable (255); sleep"

  2. 一些节点在部署 Spark 工作节点时失败并出现“Exited 100”错误,例如“Tue Dec 8 15:28:31 PST 2015: Exited 100: gcloud --project=cs-bwamem --quiet --verbosity=info compute ssh hadoop-w-6 --command=sudo su -l -c "cd ${PWD} && ./deploy-core-setup.sh" 2>>deploy-core-setup_deploy.stderr 1>>deploy-core-setup_deploy .stdout --ssh-flag=-tt --ssh-flag=-oServerAliveInterval=60 --ssh-flag=-oServerAliveCountMax=3 --ssh-flag=-oConnectTimeout=30 --zone=us-central1-f"

在日志文件中,它说:

hadoop-w-40: ==> 部署核心-setup_deploy.stderr <==

hadoop-w-40:dpkg-query:未安装包“openjdk-7-jdk”,没有可用信息

hadoop-w-40:使用 dpkg --info (= dpkg-deb --info) 检查存档文件,

hadoop-w-40: 和 dpkg --contents (= dpkg-deb --contents) 列出它们的内容。

hadoop-w-40:无法获取http://httpredir.debian.org/debian/pool/main/x/xml-core/xml-core_0.13+nmu2_all.deb 从服务器读取错误。远端关闭连接[IP:128.31.0.66 80]

hadoop-w-40:E:无法获取一些档案,也许运行 apt-get update 或尝试使用--fix-missing?

我试过16核128节点、32核64节点、32核32节点和其他1024核以上的配置,但是上面的原因1或2都会出现。

我还尝试修改 ssh-flag 以将 ConnectTimeout 更改为 1200 秒,并更改 bdutil_env.sh 以将轮询间隔设置为 30 秒、60 秒……,它们都不起作用。总会有一些节点失败。

这是我使用的配置之一:

时间 ./bdutil \ --bucket $BUCKET \ --force \ --machine_type n1-highmem-32 \ --master_machine_type n1-highmem-32 \ --num_workers 64 \ --project $PROJECT \ --upload_files ${JAR_FILE } \ --env_var_files hadoop2_env.sh,extensions/spark/spark_env.sh \ deploy

0 投票
2 回答
245 浏览

google-cloud-storage - GCS - 删除 + 重命名的全局一致性

我的问题可能是由于我对谷歌存储的全球一致性产生了误解,但由于我直到最近(11 月中旬)才遇到这个问题,现在它似乎很容易重现,我想澄清一下。该问题开始发生在使用 bdutil 在计算引擎上运行的一段 spark 代码中,但我可以使用 gsutil 从命令行重现。

我的代码正在删除目标路径,然后立即将源路径重命名为目标路径。由于目标路径不再存在,我希望具有全局一致性,src 将被重命名为目标,但是 src 被嵌套在目标内部,就好像目标仍然存在并且不一致。

重现的 hadoop 代码如下所示:

从命令行我可以重现:

如果原因是因为列表操作最终一致并且FileSystem实现是使用列表操作来确定目标是否仍然存在,那么我明白了,那么有没有推荐的解决方案来确保在重命名之前目标不再存在?

谢谢,卢克

0 投票
1 回答
312 浏览

hadoop - 适用于 Hadoop 的 Google Cloud 连接器不适用于 Pig

我将 Hadoop 与 HDFS 2.7.1.2.4 和 Pig 0.15.0.2.4 (Hortonworks HDP 2.4) 一起使用,并尝试将Google Cloud Storage Connector 用于 Spark 和 Hadoop(GitHub 上的 bigdata-interop)。当我尝试时它可以正常工作,比如说,

但是当我在 Pig 中尝试以下操作时(在 mapreduce 模式下):

Pig 失败并出现以下错误:

如果需要,我可以发布 GC 连接器的日志。

Hame 有人使用 Pig 和这个连接器吗?任何帮助都会受到欢迎。

0 投票
1 回答
1245 浏览

apache-spark - 如何管理冲突的 DataProc Guava、Protobuf 和 GRPC 依赖项

我正在做一个 scala Spark 作业,它需要使用 Java 库 (youtube/vitess),它依赖于较新版本的 GRPC (1.01)、Guava (19.0) 和 Protobuf (3.0.0),而不是 DataProc 1.1 目前提供的图片。

在本地运行项目并使用 maven 构建时,将加载这些依赖项的正确版本,作业将毫无问题地运行。将作业提交到 DataProc 时,首选这些库的 DataProc 版本,并且作业将引用无法解析的类函数。

在 DataProc 上提交 Spark 作业时,确保加载正确版本的依赖项依赖项的推荐方法是什么?我无法重写该库的组件以使用 DataProc 提供的这些包的旧版本。

0 投票
3 回答
10998 浏览

apache-spark - 以有效的方式从 BigQuery 读取到 Spark?

当使用BigQuery Connector从 BigQuery 读取数据时,我发现它首先将所有数据复制到 Google Cloud Storage。然后将这些数据并行读取到 Spark 中,但是在读取大表时,复制数据阶段需要很长时间。那么有没有更有效的方法将数据从 BigQuery 读取到 Spark 中?

另一个问题:从 BigQuery 读取由 2 个阶段组成(复制到 GCS,从 GCS 并行读取)。复制阶段是否受 Spark 集群大小的影响或需要固定时间?

0 投票
1 回答
253 浏览

apache-spark - (bdutil) 无法让 hadoop/spark 集群使用全新安装

我在 GCE 中建立了一个小型集群来使用它,但是尽管创建了一些实例,但有些故障会阻止它正常工作。我正在按照https://cloud.google.com/hadoop/downloads中的步骤进行操作

到目前为止,我正在使用(截至目前)最新版本的 gcloud(143.0.0)和 bdutil(1.3.5),全新安装。

使用debian-8作为镜像(因为 bdutil 仍然使用 debian-7-backports)。

在某个时候我得到了

完整的调试输出在https://gist.github.com/jlorper/4299a816fc0b140575ed70fe0da1f272 (项目 ID 和存储桶名称已更改)

创建了实例,但甚至没有安装 spark。在 ssh 之后,我设法在 master 中运行 spark 安装和启动 hadoop 命令。但是在启动时它失败了spark-shell

而不能import sparkSQL。对于我所阅读的内容,一切都应该自动启动。

到目前为止,我有点迷茫,不知道还能做什么。我错过了任何步骤吗?是否有任何命令错误?提前致谢。

更新:已解决

正如在接受的解决方案中指出的那样,我克隆了 repo 并且集群创建没有问题。当试图开始spark-shell虽然它给了

对我来说,这听起来像是连接器没有正确初始化,所以在运行之后

它按预期工作。

0 投票
1 回答
114 浏览

google-cloud-platform - 谷歌 Hadoop 文件系统加密

在正常操作中,可以向谷歌存储 API 提供加密密钥以加密给定的存储桶 /blob:https://cloud.google.com/compute/docs/disks/customer-supplied-encryption

这对于“即时”输出 spark/hadoop 作业是否可行?

假设我们想加密 spark write 的输出

https://storage.googleapis.com/hadoop-conf/gcs-core-default.xml中,无法指定加密密钥。

这可能吗?

0 投票
1 回答
251 浏览

scala - Google BigQuery Spark 连接器:如何在追加时忽略未知值

我们使用 Google BigQuery Spark 连接器将存储在 Parquet 文件中的数据导入 BigQuery。使用自定义工具,我们生成了 BigQuery 所需的架构文件,并在我们的导入代码 (Scala) 中引用该文件。

但是,我们的数据并没有真正遵循固定且定义明确的模式,在某些情况下,可能会向单个数据集添加额外的列。bq这就是为什么在使用我们几乎总是使用的命令行工具来试验 BigQuery 时,--ignore_unknown_values因为否则许多导入会失败。

遗憾的是,我们在 BigQuery Spark 连接器中找不到等效的配置选项com.google.cloud.bigdataoss:bigquery-connector:0.10.1-hadoop2。它存在吗?

0 投票
1 回答
1087 浏览

hadoop - 将数据从 Hadoop 传输到 Google Cloud Storage 时如何加快 distcp

谷歌云提供了使用 Hadoop 的连接器。( https://cloud.google.com/hadoop/google-cloud-storage-connector )

使用连接器,我从 hdfs 接收数据到谷歌云存储

前任)

但数据太大(16TB),接收速度只有 2mb/s

所以,我尝试更改设置 distcp (地图属性,带宽属性...)

不过速度是一样的。

将数据从 HDFS 传输到 Google Cloud Storage 时如何加快 distcp