草庐IT

hdfs-audit

全部标签

apache-spark - 文件大于 HDFS 中的 block 大小

众所周知,写入大于HDFSblock大小的单个文件并不是最佳选择,许多非常小的文件也是如此。但是,当在spark中执行repartition('myColumn)操作时,它将为每个项目创建一个分区(假设是一天),其中包含所有记录(作为单个文件),这些记录可能是几GB大小(假设20GB),而HDFSblock大小配置为256MB。文件太大真的不好吗?当读回文件时(假设它是一个可拆分文件,如parquet或带有gzip或zlib压缩的orc)spark正在为每个文件创建>>1任务,即这是否意味着我不需要担心指定maxRecordsPerFile/文件大小大于HDFSblock大小?

apache-spark - HDFS 和 Spark : Best way to write a file and reuse it from another program

我有一些来自Spark应用程序的结果作为名为part-r-0000X(X=0、1等)的文件保存在HDFS中。而且,因为我想将所有内容加入到一个文件中,所以我使用了以下命令:hdfsdfs-getmergesrcDirdestLocalFile前面的命令在bash脚本中使用,该脚本清空输出目录(保存part-r-...文件的位置),并在循环内执行上面的getmerge命令。问题是我需要在另一个Spark程序中使用生成的文件,该程序需要将该合并文件作为HDFS的输入。所以我将其保存为本地,然后将其上传到HDFS。我想到了另一种选择,即以这种方式从Spark程序写入文件:outputData

apache-spark - 您如何在 hdfs 中查看文件的行组

我遇到了这个page在jira中,我想知道如何获得相同的行组View。像这样:hdfs中是否有可以向我显示此内容的命令? 最佳答案 我报告了JIRA。我用过parquet-toolsmeta/path/to/file.parquet|grep"rowgroup"然后手动编辑输出以对齐数字。或者,您可以附加|column-t用于一些基本对齐。尽管在这种情况下数字将左对齐而不是右对齐,但至少它们会一个接一个地排列。parquet-tools本身是一个未记录的帮助程序脚本included在Parquet先生。您可以调用hadoopjar/

hadoop - 如何显示包含特殊字符串的 HDFS 文件中的特定行

我有这些行DIS_CD_RLT_PSE,D,,177959,10.425719262087393DIS_CD_RLT_PSE,E,,811061,47.5159687929684DIS_CD_RLT_PSE,I,,113424,6.6449394612410755DIS_CD_RLT_PSE,M,,404023,23.66966758313058DIS_CD_RLT_PSE,P,,28083,1.6452411737377726DIS_CD_RLT_PSE,U,,142155,8.32814368310697DIS_CD_RLT_PSE,Z,,30218,1.7703200437278

hadoop - 上传文件到HDFS会自动分布式存储文件吗?

我刚开始学习Hadoop,我对数据如何以分布式方式存储有点困惑。我有MPI背景。使用MPI,我们通常有一个主处理器将数据发送到其他各种处理器。这是由程序员明确完成的。有了Hadoop,您就有了一个Hadoop分布式文件系统(HDFS)。那么当你把一些文件从本地服务器放到HDFS时,HDFS会自动分布式存储这个文件而不需要程序员做任何事情吗?HDFS这个名字似乎暗示了这一点,但我只是想验证一下。 最佳答案 是的,确实如此。文件上传完毕,NameNode根据复制因子(通常为3)协调复制到存储它的DataNodes。此外,NameNode

ant - 尝试使用 Fuse 挂载 HDFS。无法编译 libhdfs

我正在尝试编译libhdfs(一个允许外部应用程序与hdfs交互的native共享库)。这是我使用Fuse挂载Hadoop的hdfs必须采取的几个步骤之一。编译似乎进行了一段时间,但以“BUILDFAILED”和以下问题摘要结束-commons-logging#commons-logging;1.0.4:在commons-logging#commons-logging中找不到配置;1.0.4:“master”。org.apache.hadoop#Hadoop;working@btsotbal800commons-logging需要它log4j#log4j;1.2.15:在log4j#l

hadoop - 当节点数少于复制因子时,HDFS 如何复制?

例如,如果Hadoop集群由2个DataNode组成,并且HDFS复制因子设置为默认值3,那么文件复制的默认行为是什么?从我读到的内容来看,HDFS似乎是基于机架感知的,但是对于这种情况,有人知道它是如何确定的吗? 最佳答案 它会认为这些block是复制不足的,它会一直提示这一点,它会永久地尝试使它们达到预期的复制因子。HDFS系统有一个参数(复制因子-默认为3)告诉名称节点每个block应该如何复制(在默认情况下,每个block应该在整个集群中复制3次,根据给定的副本放置策略)。在系统设法将每个block复制到复制因子指定的次数之

hadoop 从 hdfs 复制到 S3

我已经在AmazonEMR上成功完成了mahout矢量化工作(使用MahoutonElasticMapReduce作为引用)。现在我想将结果从HDFS复制到S3(以便在未来的集群中使用它)。ForthatI'veusedhadoopdistcp:den@aws:~$elastic-mapreduce--jars3://elasticmapreduce/samples/distcp/distcp.jar\>--arghdfs://my.bucket/prj1/seqfiles\>--args3n://ACCESS_KEY:SECRET_KEY@my.bucket/prj1/seqfile

hadoop - 如何强制 HBase 在 HDFS 上运行?

我在native文件系统上使用HBase并创建了一些表。现在我配置了HDFS并希望HBase使用它。我启动了Namenode和Datanode,但找不到可以告诉HBase使用HDFS的设置。我认为它可能会在重启时获取HDFS,所以我这样做了(stop-hbase+start-hbase),但我仍然能够看到我之前在native文件系统上创建的表。如何让HBase使用HDFS? 最佳答案 在$HBASE_HOME/conf/hbase-site.xml中,hbase.rootdir定义了HBase所在的文件系统/目录。看:http://

hadoop - 在 hdfs 文件上运行 mapreduce 并将 reducer 结果存储在 hbase 表中的示例

有人可以为mapreduce和Hbase提供一个很好的示例链接吗?我的要求是在hdfs文件上运行mapreduce并将reducer输出存储到hbase表。映射器输入将是hdfs文件,输出将是Text,IntWritable键值对。Reducers输出将是Put对象,即添加reducerIterableIntWritable值并存储在hbase表中。 最佳答案 这是解决你问题的代码司机HBaseConfigurationconf=HBaseConfiguration.create();Jobjob=newJob(conf,"JOB_