草庐IT

Hadoop fs mkdir 并使用 FileSystem.exists 进行测试

我可以使用以下命令在我的hadoop中创建目录:hadoopfs-mkdir/test/input。我可以通过浏览localhost:50070来检查它,它有效:/test/tmp但是当我从java检查是否存在时:FileSystemfs=FileSystem.get(conf);fs.exists(newPath("/tmp"));//returnstruefs.exists(newPath("/test"));//returnsfalse即使我在/tmp中创建测试,也会发生同样的事情。怎么了?谢谢, 最佳答案 FileSyste

hadoop - 使用 mapreduce 和 org.apache.hadoop.fs 编写序列文件。差异?

我看到使用org.apache.hadoop.fs包或mapreduce将序列文件写入hdfs的示例。我的问题是:有什么区别?最终结果,我的意思是用两种方法写在HDFS中的序列文件是一样的吗?我只尝试使用org.apache.hadoop.fs来编写序列文件,当我尝试使用hadoopfs-text查看结果时,我看到了“key”仍然附加在每个记录/block中?如果我使用mapreduce生成序列文件,会不会一样?我宁愿不要看到“key”如何决定使用哪种方法将序列文件写入HDFS? 最佳答案 对于序列文件,您将编写您的内容,包括对象,

hadoop - 如何在hadoop pig中执行-fs

我想将输出文件从hdfs获取到我的本地存储,所以我在我的pig脚本中运行了这段代码Fs-getuser/miner/adhoc/results/mine1.txt/home/miner/jeweler/results不幸的是,执行代码返回error2997:encounteredioexception我还看到找不到默认启动文件/var/lib/hadoop-yarn/.pigbootup我是否需要导入某些内容或是否需要在我的pig脚本中设置某些属性? 最佳答案 看来您的路径不正确,这会导致IOException。您的路径中缺少根斜杠

hadoop - 大量的S3路径,为什么Hadoop需要这么长时间才能启动?

我有一个Hadoop作业,它有大约60kS3输入路径。这项工作大约需要45分钟才能开始。同样的工作,只有约3kS3输入路径几乎立即开始。为什么有大量输入路径会导致作业启动时间过长? 最佳答案 答案与FileInputPath.addInputPath(...)的实现方式有关。如果你看一下来源here,您会看到它实际上进行了字符串连接,以将所有这些路径保存到一个文件中。调用addInputPaths(...)只是调用addInputPath,所以那里没有节省。我最终调用了FileInputPath.setInputPaths(Job,

hadoop - 处理 PIG 脚本中的 fs(hadoop shell)命令错误

我有一个包含几个语句的PIG脚本。示例脚本:registerx.jar;fs-rmr;LOAD'X'AS(uuid:chararray,value:chararray);我正在调用fsshell来删除HDFS上的文件:fs-rmr如果存在则删除,否则继续。如果文件/目录不存在,脚本将退出并抛出错误:Nosuchfileordirectory我使用以下命令运行它:pig-ffilename.pig-paramparameter1=value"-f"强制停止它。如果我避免使用“-f”,我会收到以下错误:2015-02-0202:50:15,388[main]ERRORorg.apache.

java - NoRouteToHostException 而 hadoop fs -copyFromLocal

我在CentOS7.0上安装了hadoop2.5.1我正在使用3台具有以下主机文件的计算机,与所有3台计算机相同我没有使用DNS。XXX.XXX.XXX.65mccb-com65#serverXXX.XXX.XXX.66mccb-com66#client01XXX.XXX.XXX.67mccb-com67#client02127.0.0.1localhost127.0.1.1mccb-com65我执行命令$hadoopfs-copyFromLocal/home/hadoop/hdfs/hdfs/s_corpus.txthdfs://XXX.XXX.XXX.65:9000/tmp/我遇到

hadoop - Sqoop + S3 + Parquet 导致 Wrong FS 错误

尝试使用Sqoop将Parquet格式的数据导入S3时,如下:bin/sqoopimport--connect'jdbc:[conn_string]'--table[table]--target-dirs3a://bucket-name/--hive-drop-import-delims--as-parquetfile...我收到以下错误:ERRORtool.ImportTool:ImportedFailed:WrongFS:s3a://bucket-name/,expected:hdfs://localhost:9000我在导入非parquet数据或直接通过HDFS使用s3a时没有问

带有隐藏 key 对的 Hadoop distcp 到 S3a

如何隐藏访问AmazonS3的ACCESS_ID_KEY和SECRET_ACCESS_KEY?我知道将它添加到core-site.xml,但也许有不同的解决方案。因为使用这种方法,集群中的每个用户都将使用相同的key运行distcp。也许有一些解决方案,比如将它存储在每个集群用户的某个属性文件中?谢谢。 最佳答案 请看我的HCCpost在此用例中使用HadoopCredentialAPI。 关于带有隐藏key对的Hadoopdistcp到S3a,我们在StackOverflow上找到一个

hadoop - 如何在 S3 上指定 Hive EXTERNAL TABLE 数据的文件大小

我可以在Hive中创建一个EXTERNALTABLE,其中数据以Gzip格式存储在S3存储桶中。但是,这些文件非常大(每个超过6GB)。能否配置Hive使EXTERNALTABLE中的文件具有特定大小,比如512MB? 最佳答案 这对我来说听起来很奇怪,默认情况下,我的外部表通常有大约300MB的文件大小。无论如何,最简单的调整方法是使用PARTITIONBY键(可能是基于时间戳的东西),这将强制文件变小,并且具有使数据更容易的附加优势查询。此外,您应该考虑使用像Parquet这样的可拆分格式,因为这样文件大小就不再重要了。

Hadoop Pig fs 测试命令

想知道这行是什么意思?四处搜索但找不到此命令的引用,Pig.fs("test-e"+pathToCheck)==0:提前致谢,林 最佳答案 使用命令行工具并运行hadoopfs-help得到:-test-[defsz]:Answervariousquestionsabout,withresultviaexitstatus.-dreturn0ifisadirectory.-ereturn0ifexists.-freturn0ifisafile.-sreturn0iffileisgreaterthanzerobytesinsize.-z