草庐IT

HDFS_NAMENODE

全部标签

hadoop - 如何使用 PIG 将数据从本地系统加载到 hdfs

我有一个csv文件sample.csv并且位于\home\hadoop\Desktop\script\sample.csv中。我尝试使用加载PIGmovies=load'/home/hadoop/Desktop/script/sample.csv'usingPigStorage(',')as(id,name,year,rating,duration);但是这个PIG语句给出了一个错误,但是当给出语句作为dumpmovies;时,它抛出错误并显示输入和输出失败。请建议我如何使用pig语句加载数据。 最佳答案 如果你的输入文件在本地,那

hadoop - 在运行 S3DistCp 时设置 HDFS 复制因子

我正在使用S3DistCp将内容从S3复制到AmazonEMRHDFS。对于一些工作,我的空间不足,希望通过降低复制因子来解决这个问题。但我看不到在工作层面实现这一目标的方法。有人可以帮助解决这个问题吗? 最佳答案 您通常不希望在逐个作业的基础上修改集群的复制因子。复制用于数据冗余(在发生故障的情况下)和提高性能(通过使数据更接近计算操作)。最好将集群保留为预定义的值。默认情况下,AmazonEMR将1-3个核心节点的默认复制因子设置为1,将4-9个核心节点的值设置为2,将10+个核心节点的值设置为3。理论上您可以更改dfs.rep

python - 在没有pydoop的情况下列出HDFS Python中的所有文件

我有一个在centos6.5上运行的hadoop集群。我目前正在使用python2.6。由于不相关的原因,我无法升级到python2.7。由于这个不幸的事实,我无法安装pydoop。在hadoop集群中,我有大量名为raw"yearmonthdaytimehour".txt的原始数据文件,括号中的所有内容都是数字。有没有办法在python中列出hadoop目录中的所有文件?所以程序会创建一个看起来像这样的列表。listoffiles=['raw160317220001.txt','raw160317230001.txt',....]这将使我需要做的一切变得容易得多,因为从第2天第15小

hadoop - 我需要在哪里创建 HDFS 用户?

我必须为需要在HDFS上存储数据的应用程序创建一个帐户。我知道要在HDFS上创建用户(我使用的是HDP2.3),我必须执行这些命令:useradd-G*groupname**username*hdfsdfs-mkdir/user/*username*hdfsdfs-chown*username*:*groupname*/user/*username*我的问题是:我知道当我在HDFS上创建一个文件夹时,它不会在所有集群上复制,只有数据分布在所有数据节点上。我是要在集群的每个节点(namenode+datanode+edgenode)上执行这些命令,还是只在应用程序用来访问HDFS的节点(

hadoop - Camus Migration - Kafka HDFS Connect 不从设置的偏移量开始

我目前正在使用ConfluentHDFSSinkConnector(v4.0.0)来替换Camus。我们正在处理敏感数据,因此我们需要在切换到连接器期间保持偏移量的一致性。割接计划:我们创建了hdfs接收器连接器并订阅了一个写入临时hdfs文件的主题。这将创建一个名为connect-的消费者组使用DELETE请求停止了连接器。使用/usr/bin/kafka-consumer-groups脚本,我能够将连接器消费者组kafka主题分区的当前偏移量设置为所需值(即加缪写的最后偏移+1)。当我重新启动hdfs接收器连接器时,它会继续从上次提交的连接器偏移量读取并忽略设置值。我希望hdfs文

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

hadoop - 如何格式化NameNode?

我按照apache.org上的说明按照说明在伪分布式模式下设置Hadoop集群:Hadoop:SettingupaSingleNodeCluster;我使用的是Hadoop2.7.7,除了NameNode的格式外,一切正常。说明说:$bin/hdfsnamenode-format但是,这会输出使用信息并关闭节点:..18/08/0519:20:02INFOnamenode.NameNode:createNameNode[–format]Usage:javaNameNode[-backup]|[-checkpoint]|[-format[-clusteridcid][-force][-n

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