草庐IT

hadoop - AvroStorage - 输出文件名定义

我使用AvroStorage存储pig的结果集。有没有一种方法可以将数据存储到一个指定的avro文件中……例如OutputFileGen1?Pig将数据存储到名为OutpuFileGen1的目录中,其结构如下所示:ls-alOutputFileGen1/total20drwxr-xr-x2rootroot40962016-01-1814:35.drwxr-xr-x6rootroot40962016-01-1910:27..-rw-r--r--1rootroot40832016-01-1814:35part-m-00000.avro-rw-r--r--1rootroot402016-01

hadoop - 在 distcp 中更改目标文件名/位置

我在hdfs的文件夹中有许多文件,它们的名称在hdfs中的格式为filename.yyyy-mm-dd-hh.machinename.gz。我需要将它们传输到s3,但我想将它们放在yyyy/mm/dd/hh/filename.yyyy-mm-dd-hh.machinename.gz(这将是对象名称,因为s3具有平面结构)下我指定的桶。distcp命令可以将文件从hdfs传输到s3但是否有执行上述操作的选项?如果不是,我如何扩展distcp来执行此操作? 最佳答案 请注意:这不是解决方案,只是一个提示。我不知道确切的答案,也没有实际尝

hadoop - 使用 '-tagFile' 选项的项目文件名字段,使用 PigStorage '-tagFile' 加载,Pig 0.14

AmazonEMR-4.5、Hadoop2.7.2、Pig0.14我想在加载后使用-tagFile选项将文件名字段和选定字段投影到新关系。结果似乎没有意义。示例:tagfile-test.txt(制表符分隔)AAA1232016BBB4562016CCC7892016负载转储test=LOAD'tagfile-test.txt'USINGPigStorage('\t','-tagFile')AS(f0,f1,f2,f3);DUMPtest;(tagfile-test.txt,AAA,123,2016)(tagfile-test.txt,BBB,456,2016)(tagfile-tes

hadoop - 如何从侧映射器和缩减器(即驱动程序类)的输入文件路径获取 hadoop 中的文件名

我们使用mapper或reducer获取文件路径FileSplitfileSplit=(FileSplit)reporter.getInputSplit();Stringfilename=fileSplit.getPath().getName();System.out.println("Filename"+filename);System.out.println("DirectoryandFilename"+fileSplit.getPath().toString());process(key,value);但是在输入文件夹中,我有五种不同类型的文件,因此需要获取文件名,以便我可以为不

python - 文件名有空格的 Pyspark 错误处理

我正在使用pyspark2.1问题陈述:需要验证hdfs路径,文件如果存在需要将文件名复制到变量中以下是在引用了几个网站和stackoverflow后目前使用的代码importosimportsubprocessimportpandasaspdimporttimesdefrun_cmd(args_list):print('Runningsystemcommand:{0}'.format(''.join(args_list)))proc=subprocess.Popen(args_list,stdout=subprocess.PIPE,stderr=subprocess.PIPE)pro

python - 使用pyspark从本地系统读取文件时获取文件名

补充更新:我尝试为我存在于hdfs中的文件编写相同的代码,它正在工作,但是当我为我的本地文件系统使用相同的代码时,我收到错误。Causedby:java.io.FileNotFoundException:Filefile:/root/cd/parsed_cd_5.xml不存在原始问题和初始更新我正在使用ElementTree来解析XML文件。我在python中运行了代码,它运行起来很有魅力。但是当我尝试使用spark运行相同的程序时,我遇到了以下错误。错误:File"/root/sparkCD.py",line82,inforfilenameinglob.glob(os.path.jo

hadoop - 根据 hdfs 中的模式列出文件名

我正在hdfs中搜索特定的文件模式。我的要求是,我需要搜索一个存在于特定位置的具有两个字符的文件名。例如:order_items_20181110_transactions.datorder_items_20181211_transactions.datorder_items_20181312_transactions.dat我需要选择第二个文件,其中包含2018和11仅在2018之后的两个位置我的意思是有没有一种搜索方式如下hdfsdfslsorder_items_2018..11*两个点表示任何未知的字符。 最佳答案 您可以像下

java - 在 MapReduce 中使用 MultipleTextOutputFormat 控制输出文件名

这里是Hadoop(和Java)新手。我在使用MultipleTextOutputFormat控制MapReduce中的输出文件名方面需要一些帮助。目前我正在使用它thisway.它似乎工作正常。然而,我试图改变的是被选中以确定文件名的字段的用法。与其将它们硬编码到field[0]或field[3](如示例中的情况),我想选择这个(在一些动态的时尚)从JobConf为field[jobConf.get("id.offset")]或field[jobConf[get("date.offset")]。这里有谁知道我该怎么做(或达到这种效果的事情,即它本身不必是JobConf)?任何指示/建

java - 使用 HBase MapReduce 将文件名作为行键插入

使用JavaAPI,我尝试将一些文件的内容Put()到HBase1.1.x。为此,我创建了WholeFileInput类(引用:UsingWholeFileInputFormatwithHadoopMapReducestillresultsinMapperprocessing1lineatatime)以使MapReduce读取整个文件而不是一行。但不幸的是,我不知道如何从给定的文件名中形成我的rowkey。例子:输入:文件123.txt文件-524.txt文件9577.txt...文件-“另一个数字”.txt我的HBase表上的结果:行----------------值123-----

hadoop - 获取 Hive 中 Record 的文件名

是否有可能在Hive中获取记录的文件名?这对调试非常有帮助。在我的特殊情况下,我在映射到包含>100个大文件的文件夹的表中有一个不正确的值。使用grep是非常低效的 最佳答案 HIVE支持虚拟列,例如INPUT__FILE__NAME。它为映射器任务提供输入文件的名称。查看文档here.它提供了一些有关如何执行此操作的示例。不幸的是,我现在无法对其进行测试。让我知道这是否有效。 关于hadoop-获取Hive中Record的文件名,我们在StackOverflow上找到一个类似的问题: