草庐IT

hdfs-agent

全部标签

java - 在启用权限的情况下在 hdfs 上写入文件

我尝试在启用权限的情况下使用Java(v1.8)在hdfs上写入文件。作为hadoop实例,我使用了现成的docker镜像:https://hub.docker.com/r/sequenceiq/hadoop-docker/我关注了WriteafileinhdfswithJava执行如下操作:Configurationconfiguration=newConfiguration();configuration.set("fs.defaultFS","hdfs://127.0.0.1:9000/user/root");configuration.set("hadoop.job.ugi",

hadoop - apache pig 没有连接到 hdfs

我有Hadoop版本2.6.3和pig-0.6.0我在单节点集群中启动并运行了所有守护进程。发射pig命令后。pig只连接到file:///而不是hdfs你能告诉我如何连接hdfs吗下面是我能看到的INFO日志2016-01-1020:58:30,431[main]INFOorg.apache.pig.backend.hadoop.executionengine.HExecutionEngine-Connectingtohadoopfilesystemat:file:///2016-01-1020:58:30,650[main]INFOorg.apache.hadoop.metrics

java - 是否可以使用java将数据附加到hdfs

我在hdfs中有一个制表符分隔的文件。我需要使用Java将用户输入附加到hdfs中的分隔文件。我不知道如何实现这个。如果有人告诉我其中的逻辑,那将对我非常有用。 最佳答案 org.apache.hadoop.dfs.DistributedFileSystem类有一个方法append,它返回一个流对象FSDataOutputStream,您可以在其中写入使用out.write。这将使您的工作完成。在此处引用文档http://archive.cloudera.com/cdh/2/hadoop-0.18.3+76.2/api/org/ap

json - 有没有一种直接的方法可以将存储在 HDFS 中的数据转换为 JSON?

我有一个“|”我需要将其转换为JSON以进行进一步处理的分隔数据文件。示例数据如下所示,第一行是字段A|B|C|D|E001|Value2|Value3|Value4|Value5002|Value2|Value3|Value4|Value5003|Value2|Value3|Value4|Value5 最佳答案 啊,这太容易了。刚找到它。我正在展示一个仅包含两个字段的示例。A=FOREACH'ALIASNAME'GENERATE$0asid,$1assalary;STOREAINTO'/yourpreferedhdfslocati

java - Hadoop HDFS文件拆分成 block 的哪个Java文件

众所周知,当一个文本文件从本地复制到HDFS时,该文件被分割成固定大小的128MB。例如,当我将一个256MB的文本文件复制到HDFS时,将有2个block(256/128)包含“拆分”文件。谁能告诉我Hadoop2.7.1源代码中的哪个java/jar文件具有将文件拆分为block的功能,以及哪个java/jar文件将block写入数据节点的目录.帮我追踪这段代码。我只找到了在FileInputFormat.java中找到的对block进行逻辑输入拆分的那个,这不是我需要的。我需要用于拆分物理文件的java文件。 最佳答案 将数据

hadoop - "Content-type"用于使用 Web HDFS REST 客户端上传 jars 文件

我正在使用WebHDFSREST客户端,我可以上传.xml和.q文件。代码的有用部分-CloseableHttpClienthttpclient=HttpClients.createDefault();HttpPuthttpPut=newHttpPut(urlString);httpPut.setHeader("Accept","application/xml");httpPut.setHeader("Content-type","application/xml");CloseableHttpResponseresponse=httpclient.execute(httpPut);我在

java - RDD 的最后一项未保存到 HDFS

我是Spark的新手,目前正在做一些在4个Sparkworker上运行的基本ETL,从外部源读取项目,然后将它们保存到HDFS。奇怪的是,我的HDFS结果中缺少项目。因为我需要遵循某些文件系统约定,所以我想将项目拆分到单独的存储桶中并将它们保存在单独的子文件夹中(我知道我在这里降低了性能):Listsources;//somelistofstringsJavaRDDtaskList;//alotoftasksforeachsourceJavaRDDitems=taskList.map(task->newExtractor().execute(task));for(Stringsourc

hadoop - Hdfs 平衡器不工作

我确定没有人开始平衡,可能出了什么问题?平衡运行如下:#hdfsbalancer-threshold116/02/1915:10:02INFObalancer.Balancer:Usingathresholdof1.016/02/1915:10:02INFObalancer.Balancer:namenodes=[hdfs://m1.h.c.test:8020,hdfs://m1.h.c.test]16/02/1915:10:02INFObalancer.Balancer:parameters=Balancer.Parameters[BalancingPolicy.Node,thres

hadoop - 使用通配符检查文件是否存在于 hdfs 中

我想检查一个文件是否存在于hdfs中。我正在使用if$(hadoopfs-test-e$myfilewithpath);thenecho"ok";elseecho"notok";fi现在我收到类似的错误消息test:`/data/bi/udm/incoming/Viewership/year=2016/month=02/day=26/hour=07/part-m-*.avro':Nosuchfileordirectorynotok我在路径中期望的文件可以是任何映射器输出文件,即它可以是part-m-00000.avro或者它可以是part-m-00099.avro这就是我在搜索中使用*

hadoop - HDFS block 创建

我想知道block是如何创建的。它是在文件系统上默认创建64MBblock还是根据文件传输事件创建假设我已经设置了一个10节点集群设置。我在所有节点上安装hadoop。现在如何创建block。一旦我启动hdfs服务,该block就会在linux系统上创建。它是否创建了4kblock的物理64MBblock?(基本block大小)。或当我移动一个大小为128MB的文件时,将创建两个block。block创建是否在两个节点中并行发生?哪个组件会实际将文件拆分成block?我只是hadoop的初学者,因此提出这些问题以获得清晰的理解 最佳答案