草庐IT

hdfs_clusters

全部标签

python - 在 Python 中从存储在 HDFS 上的文件中读取行的最有效方法是什么?

我正在尝试找出一种方法,用Python从存储在HDFS服务器上的多个文本文件中读取数据行。我需要解析每一行并只保留部分数据,所以我不希望将文件保存在本地。我需要一种方法来连接到服务器,遍历特定文件夹中的所有文件,并从每个文件读取所有行并对它们执行(与此问题无关的)操作。 最佳答案 问题评论中提到的GitHub存储库python-hdfs通过libhdfs(HDFS的C接口(interface))从Python查询HDFS。最近,WebHDFS被引入,它为HDFS提供了一个REST接口(interface)。https://githu

java - 如何在 map-reduce 中读取多个图像文件作为 hdfs 的输入?

privatestaticString[]testFiles=newString[]{"img01.JPG","img02.JPG","img03.JPG","img04.JPG","img06.JPG","img07.JPG","img05.JPG"};//privatestaticStringtestFilespath="/home/student/Desktop/images";privatestaticStringtestFilespath="hdfs://localhost:54310/user/root/images";//privatestaticStringindexp

c - C 中的 hadoop hdfs 客户端

问题与C中hdfs客户端的设计和实现有关。libhdfs页面http://hadoop.apache.org/docs/r1.0.3/libhdfs.html提到客户端使用JNI接口(interface)。谁能解释为什么C客户端使用JNI。客户端需要做的就是在数据节点和名称节点上运行的java程序中调用远程方法,它可以通过以数据节点期望的方式序列化方法调用来完成。将JNI用于如此琐碎的事情令人困惑。 最佳答案 HDFS完全用Java实现,并使用Java语言和API的几个特性来实现良好的性能和易于编程。HadoopRPC协议(prot

hadoop - HDFS 中的文件数与 block 数

我正在运行单节点hadoop环境。当我运行$hadoopfsck/user/root/mydatadir-block时,我真的对它给出的输出感到困惑:Status:HEALTHYTotalsize:998562090BTotaldirs:1Totalfiles:50(Filescurrentlybeingwritten:1)Totalblocks(validated):36(avg.blocksize27737835B)(Totalopenfileblocks(notvalidated):1)Minimallyreplicatedblocks:36(100.0%)Over-replic

hadoop - Sqoop - 是否可以在 HDFS 中导入平面文件

我知道可以通过sqoop将RDBM的数据导入HDFS,但我想知道是否也可以导入平面文件。例如,是否可以从远程Linux文件系统导入文件?感谢您的帮助。 最佳答案 要将平面文件放入HDFS,不需要Sqoop,我看不出有任何理由为此使用Sqoop。只需尝试以下命令。Here是相同的文档。hadoopfs-put 关于hadoop-Sqoop-是否可以在HDFS中导入平面文件,我们在StackOverflow上找到一个类似的问题: https://stackover

java - 如何在 hdfs 上使用 java 压缩文件

这个问题在这里已经有了答案:Hadoop:compressfileinHDFS?(7个答案)关闭8年前。我是hdfs/hadoop的新手,需要知道如何压缩hdfs目录中的文件,例如hdfs://sandbox:8020/some/path.我试过了Pathp=newPath("/my/path/test1.gz");FSDataOutputStreamos=fs.create(p);GZIPOutputStreamgzipOs=newGZIPOutputStream(newBufferedOutputStream(os));PathfilePath=file.getPath();FSD

java - 使用java读取hdfs blk_.meta文件

在Hadoop的数据节点中,始终存在包含数据原始字节的block文件,以及带有生成的戳记和扩展名为.meta的元数据文件。我试图在vi中打开元数据,它看起来像是乱码内容。我假设它是某种序列化的二进制格式。我看了一下HDFS的源代码,感觉org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader是最有可能读取元数据的方法。我在本地下载了一个元文件并在Eclipse中编写了一些代码。packagecom.bw;importjava.io.DataInputStream;importjava.io.File;im

hadoop - CDH5 上的启动/停止 hadoop hdfs/mapred 脚本在哪里

CDH4的文档引用了/etc/init.d/hadoop-*脚本,但这些在CDH5中不再存在。我已经仔细阅读了文档,但未能成功找到/理解什么是CDH5等价物。我能找到的最接近的是SCM经理:http://www.cloudera.com/content/cloudera-content/cloudera-docs/CM5/latest/Cloudera-Manager-Administration-Guide/cm5ag_agents.html将不胜感激新流程(/es)的指针和解释。 最佳答案 我在Cloudera用户的邮件列表上收

javascript - 通过 node.js 和 hdfs 模块将文件上传到 HDFS

我正在尝试使用node.js将文件上传到HDFS。我正在使用hdfsmodule但是最终在我的HDFS上的文件是空白的(stupidfile.txt不是)varWebHDFS=require('webhdfs');varhdfs=WebHDFS.createClient();varfs=require('fs')varlocalFilePath="stupidfile.txt";varremoteFilePath="/user/cloudera/doesthiswork.txt";varlocalFileStream=fs.createReadStream(localFilePath)

hadoop - 使用 HDFS 而不是 spark.local.dir

试图理解为什么Spark需要本地机器上的空间!有办法解决吗?我一直遇到“设备上没有剩余空间”。我知道我可以将“spark.local.dir”设置为以逗号分隔的列表,但有没有办法改用HDFS?我正在尝试合并两个巨大的数据集。在较小的数据集上,Spark是MapReduce的对手,但在我用这些巨大的数据集证明之前,我不能宣布胜利。我没有使用yarn。此外,我们的网关节点(又名边缘节点)不会有很多可用空间。有解决办法吗? 最佳答案 当groupByKey操作时,Spark只是写入tmpDir序列化分区。它是普通文件(请参阅Shuffle