草庐IT

hadoop - FileInputFormat.setInputPath 中的 FTP 文件名

我有一个代码可以使用mapreduce代码从FTP服务器读取数据。我们用来连接ftp服务器的代码如下`StringinputPath=args[0];StringoutputPath=args[1];Configurationconf1=newConfiguration();String[]otherArgs=newGenericOptionsParser(conf1,args).getRemainingArgs();Patharg=newPath(inputPath);FTPFileSystemftpfs=newFTPFileSystem();Patharg1=newPath(out

hadoop - HDFS 中的最大文件名大小

我对hdfs中文件名的最大大小和hdfs中文件路径的最大大小(文件结构可以嵌套多深)有疑问。我已经编写了一个Map-Reduce作业,我正在为Reducer在输出中生成的文件生成自定义名称。所以只需要知道文件名的最大大小和目录结构的最大深度,这样我就可以确保在我的代码中不超过最大可能的大小。提前致谢。 最佳答案 这取决于操作系统下的文件系统。例子:对于extFS(目前Linux上使用最多的):maxfilenamelength:255bytesmaxpathlength:noneFS不知道扩展名,它有255个字节,包括扩展名(你可以

hadoop - 调用 Spark SaveAsTextFile 方法时如何获取生成的文件名

我是Spark、Hadoop以及所有相关产品的新手。我的全局需求是构建一个实时应用程序来获取推文并将其存储在HDFS上,以便构建基于HBase的报告。我想在调用saveAsTextFileRRD方法时获取生成的文件名,以便将其导入Hive。请随时询问更多信息,在此先致谢。 最佳答案 saveAsTextFile将创建一个序列文件目录。所以如果你给它路径“hdfs://user/NAME/saveLocation”,一个名为saveLocation的文件夹将被创建,里面装满了序列文件。您应该能够通过将目录名称传递给HBase将其加载到

hadoop - 当配置单元加载数据本地 inpath 时,由于文件名导致路径无效

文件“/home/hadoop/_user_active_score_small”确实存在。但是当如下运行loaddatalocal时,得到一个SemanticException:hive>loaddatalocalinpath'/home/hadoop/_user_active_score_small'overwriteintotableuser_active_score_tmp;FAILED:SemanticExceptionLine1:24Invalidpath''/home/hadoop/_user_active_score_small'':Nofilesmatchingpat

hadoop - 在 Spark 1.6.0 View 中输入文件名

我无法在Spark1.6.0View中使用input_file_name()函数。它适用于选择语句或df.withColumn("path",input_file_name()),但不适用于View。例如:CREATEVIEWv_testASSELECT*,input_file_name()FROMtable失败。当我改用INPUT__FILE__NAME时,它也会失败。只是:SELECT*,input_file_name()FROMtable按预期工作。这是一个已知的错误还是我做错了什么?PS:我可以在Hive中创建View,但无法从Spark访问它,因为它失败并出现相同的错误:未知

hadoop - 如何根据表中的数据获取 Parquet 文件名

我试图弄清楚表中存储的数据是针对特定日期条件集存储在众多Parquet文件中的哪个文件中。例如:selectfilenamesfromtablewheredateCol='1-1-2010';我记得在某个地方读到过这件事是可能的,但我想不起来了;我在别处也找不到。有人有什么想法吗? 最佳答案 明白了。selectdistinct(INPUT__FILE__NAME)fromtablewhereconditions; 关于hadoop-如何根据表中的数据获取Parquet文件名,我们在St

hadoop - 如何在hadoop map reduce程序中的mapper代码中获取输入文件名

我编写了一个带有两个输入参数的驱动程序代码:args[0]和args[1]。我想使用args[0]即输入文件路径,作为我在映射器代码中的文件路径之一,这样我的缓冲区读取器就可以读取文件,如下所示:{publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsjava.io.IOException,InterruptedException{ArrayListal=newArrayList();ArrayListnl=newArrayList();Stringline=null;StringfilePath=args[0];St

bash - 使用部分文件名添加为字段/列

我每天(通过wget)将5个文件保存到/tmp,以便在bash脚本中加载到hdfs。donaldDuck-2013-07-20.zipmickeyMouse-2013-07-20.zipgoofyGoof-2013-07-20.zipplutoStar-2013-07-20.zipbigBadWolf-2013-07-20.zip文件名的日期部分是动态的。然后我如何告诉hadoop加载5个文件中的每一个?我听说了一些关于循环的事情。forfilein/tmp/*;doecho"Running${file##*/}...."done我是否将回显行替换为“hadoopfs-put...”语

hadoop - 如何使用当前时间戳作为 Hive 输出的文件名

我正在使用此代码将Hive查询的结果写入指定文件:INSERTOVERWRITEDIRECTORY'/user/test.user/test.csv'ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'ESCAPEDBY'"'STOREDASTEXTFILESELECT...我不希望文件名是test.csv但是unix时间戳,即1517213651.csv或类似的东西。我知道我不能使用concat函数来操作文件名,但这是我所能得到的。如何将查询执行时刻的时间戳作为输出的文件名?编辑:我们正在使用Cloudera。 最佳答案

hadoop - 从平面文件名 cloudera 添加日期时间

我在亚马逊上启动了一个EC2集群来安装cloudera...我安装并配置了它,并将一些Wiki页面View公共(public)快照加载到HDFS中。文件结构如下:projectcode,pagename,pageviews,bytes文件是这样命名的:pagecounts-20090430-230000.gzdatetime当从HDFS加载数据到Impala时,我是这样做的:CREATEEXTERNALTABLEwikiPgvws(project_codevarchar(100),page_namevarchar(1000),page_viewsint,page_bytesint)RO