【发布时间】:2015-12-10 17:00:35
【问题描述】:
我正在使用 Windows 命令行,因为 Unix 和防火墙的问题阻止了 gsutil 工作。我可以读取我的 Google Cloud Storage 文件并将它们复制到其他存储桶(我不需要这样做)。我想知道如何将它们直接下载到 HDFS(我正在“ssh”进入)?有人做过吗?理想情况下,这是第一部分,第二部分是为 Google Cloud Storage 数据创建 Hive 表,以便我们可以使用 HiveQL 和 Pig。
【问题讨论】:
-
忘了提一下,我可以直接将它们下载到我的 C:Users/Me ...然后上传到 HDFS,而是通过直接进入 hdfs 来缩短这个过程。谢谢
-
在 Linux 机器上,您可以通过单个命令行将 GS 下载通过管道传输到 HDFS 上传。不过在 Windows 上...
-
顺便说一句,“ssh-ing into HDFS”到底是什么意思?!?您使用的是
hdfs dfs -put之类的命令行、WebHDFS REST 接口还是一些 Microsoft 装置? -
是的,使用 Unix 访问 Hadoop,然后使用 hdfs dfs -commands。但是在 Unix 上完全无法通过 gsutil 连接,所以中间的集成位让我很难过。你认识一个愤怒的工程师,他可能有解决方案吗?
-
啊,我忘记了一个警告:当您上传带有
hdfs dfs或hadoop distcp的文件时,会使用临时文件名,直到上传完成。 WebHDFS 不是这样:文件是以其真实名称创建的,如果它大于 1 个块(例如 128 MB),那么只要 DataNode 通知 NameNode 块 #1 已刷新,其他 HDFS 客户端就会看到它.因此,它可能会在不完整的情况下被检测和读取(尤其是在您的上传链接带宽较低的情况下)。
标签: hadoop hive hdfs google-cloud-storage