草庐IT

LOAD_FILE

全部标签

file - 文件格式存储的最佳实践 (Hadoop)

我想获得有关数据格式的建议,尤其是将我的数据存储在HDFS中的最佳解决方案是什么。我收到了很多JSON和XML格式的消息。为了高效处理,我需要将这些文件转换为适合Hadoop的更好格式,并将它们存储在HDFS中。这些文件的架构不会随时间改变,并且这些文件可大可小(因此,经过一些研究,我认为最适合我的用例的格式是Avro(即使我不需要进行模式演化),因为它提供了压缩和可拆分性。但是,我不确定这个解决方案。感谢您的帮助:) 最佳答案 取决于您的需求:Avro是一种很好的存储文件的文件格式,因为它具有良好的压缩性,并且Avro可插入pig

hadoop - pig : how to efficiently LOAD and FILTER a large dataset?

我有一个大型数据集,分成许多200GB的block。目前,我正在努力使用Pig处理数据。事实上,我的集群很小(4个节点)。我认为一个可能的瓶颈是当我加载数据时,因为我只需要我拥有的2TB数据中的一小部分。具体来说,我想知道是否加载整个数据集,然后过滤A=load‘data_part*’as(x,y);A=FILTERAbyx>0效率低于加载每个block,过滤每个block并将所有内容附加在一起A1=load‘data_part1’as(x,y);A1=FILTERA1byx>0A2=load‘data_part2’as(x,y);A2=FILTERA2byx>0A=UNIONA1,A

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 'put' 命令 : No such file or directory

我尝试将文本文件添加到HDFS文件系统,但Hadoop拒绝了它并显示错误消息“没有这样的文件或目录”。$bin/hdfsdfs-put/home/NDelt/Datasets/SampleText.txt/home/NDelt/HadoopDir/hdataput:`/home/NDelt/HadoopDir/hdata':Nosuchfileordirectory:`hdfs://localhost:9000/home/NDelt/HadoopDir/hdata'但是SampleText.txt和hdata目录的路径是正确的。有什么问题?这是我的hdfs-site.xml文件:dfs

hadoop - pig : Splitting large large file into multiple smaller files

我需要拆分由另一个Pig脚本生成的输出部分文件,并生成每个包含1000行的组。这些组将发布到网络服务以供进一步处理。数据之间没有关系,所以我无法将数据分组到特定字段。我如何在Pig中执行此操作? 最佳答案 如果拆分与数据无关,为什么还要使用Pig或MapReduce?作为替代方案,如果我没有误解的话,您可以只使用标准拆分程序来拆分数据。例如:catpart-*|split-d-l1000-result- 关于hadoop-pig:Splittinglargelargefileintomu

java - 从 Windows 机器加载 Hive 表(Load data local inpath)

我正在尝试使用来自Windows的文件加载Hive表。但是我收到以下错误:java.sql.SQLException:Errorwhilecompilingstatement:FAILED:IllegalArgumentExceptionjava.net.URISyntaxException:Expectedscheme-specificpartatindex2:C:我正在使用TalendETL工具来处理文件。下面是Talend生成的代码:Stringpath_tHiveLoad_1="file:///C:/employee.txt";Stringtablename_tHiveLoad

Hadoop 分布式缓存 : file not found exception

我正在尝试在MapReduce上实现K-means。我已将初始质心文件上传到分布式缓存在驱动类中DistributedCache.addCacheFile(newURI("GlobalCentroidFile"),conf);在我的映射器类中Path[]localFiles=DistributedCache.getLocalCacheFiles(job);Filefile=newFile(localFiles[0].getName());System.out.println("Filereadis"+localFiles[0].getName());BufferedReaderbuff

hadoop - 复制到本地 : No such file or directory

我正在尝试使用以下命令将文件从hadoophdfs复制到本地:bin/hadoopfs-copyToLocal/user/nj/dir/hfilefile:///home/nj/lfilecopyToLocal得到Nosuchfileordirectory但是,ls有效,我可以使用cat读取文件内容。尝试了get和sudo选项但同样的错误。 最佳答案 假设您要将hfile复制到nj用户主目录中的data文件夹。然后使用以下命令。bin/hdfsdfs-copyToLocal/user/nj/dir/hfile/home/nj/dat

hadoop - dfs.blocksize、file.blocksize、kfs.blocksize 等对 hadoop mapreduce 作业有什么影响?

当我查看hadoop(版本0.21.0)mapreduce作业的job.xml文件时,我发现存在多个blocksize设置:dfs.blocksize=134217728(即128MB)file.blocksize=67108864(即64MB)kfs.blocksize=67108864s3.blocksize=67108864s3native.blocksize=67108864ftp.blocksize=67108864我期待一些答案来解释以下相关问题:在这种情况下,dfs、file、kfs、s3等是什么意思?它们之间有什么区别?它们在运行mapreduce作业时有什么影响?非常

mysql - Oozie - 运行 sqoop : Could not load db driver class: com. mysql.jdbc.Driver 时出现异常

我正在尝试通过Oozie在HDP沙箱2.1上执行sqoop导出。当我运行Oozie作业时,出现以下Java运行时异常。'>>>InvokingSqoopcommandlinenow>>>7598[main]WARNorg.apache.sqoop.tool.SqoopTool-$SQOOP_CONF_DIRhasnotbeensetintheenvironment.Cannotcheckforadditionalconfiguration.7714[main]INFOorg.apache.sqoop.Sqoop-RunningSqoopversion:1.4.4.2.1.1.0-385