草庐IT

java - Hadoop( yarn ): Set mapper input separator?

我希望能够为我在MR作业的映射函数中接收的键/值对设置不同的分隔符。例如我的文本文件可能有:John-23Mary-45Scott-13在我的映射函数中,我希望每个元素的键为John,值为23等。然后如果我使用设置输出分隔符conf.set("mapreduce.textoutputformat.separator","-");reducer会选择第一个'-'之前的key和之后的所有值吗?还是我也需要对reducer进行更改?谢谢 最佳答案 阅读如果您使用org.apache.hadoop.mapreduce.lib.input.T

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

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

java - Hive StorageHandler 抛出异常 "Configuration and input path are inconsistent"

我有一个HiveStorageHandler如果我执行select*frommyTable它会返回底层存储中的所有行。当我执行类似selectcol1frommyTable的操作时,底层mapreduce作业会抛出异常:java.lang.RuntimeException:Errorinconfiguringobjectatorg.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:109)atorg.apache.hadoop.util.ReflectionUtils.setConf(Reflectio

Hadoop 流与 Python : splitting input files manually

我是Hadoop的新手,正在尝试将其流功能与Python编写的映射器和缩减器一起使用。问题是我的原始输入文件将包含要由映射器识别的行序列。如果我让Hadoop拆分输入文件,它可能会在序列的中间进行拆分,因此不会检测到该序列。所以,我正在考虑手动拆分文件。这也将打破一些序列,因此,除此之外,我还将提供替代拆分,以创建与“第一个”拆分重叠的文件。这样我就不会丢失任何序列。我将运行thisarticle中描述的以下命令:hduser@ubuntu:/usr/local/hadoop$bin/hadoopjarcontrib/streaming/hadoop-*streaming*.jar\-

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 - HDFS NFS 网关 mount.nfs : Input/output error?

HDFSNFSGateWaymount.nfs:输入/输出错误?1.报错如下:[root@xxsbin]#mount-tnfs-overs=3,proto=tcp,nolock,noacl,synclocalhost://hdfs_ymount.nfs:Input/outputerror2016-03-1015:12:06,350WARNorg.apache.hadoop.hdfs.nfs.nfs3.RpcProgramNfs3:Exception804org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.au

java - mapreduce.input.keyvaluelinerecordreader.key.value.separator参数在hadoop安装中的位置

我在java中使用mapreduce来读取由“:”分隔的键值类型文件。我想出了如何解析文件(使用getConf().set("mapreduce.input.keyvaluelinerecordreader.key.value.separator",":");)。我试图找出存储这些参数的位置但找不到。我在hadoop安装上做了一个grep,但是没有设置这些参数的xml文件。根据documentation配置类,我试图在mapred-default.xml中找到该值,但没有成功。我在哪里可以找到这些值?其他一些参数也是如此。谢谢。 最佳答案

hadoop - 在 EMR 3.10 中添加步骤或引导操作以将文件从本地复制到 s3

我正在使用AmazonEMR3.10将文件从本地复制到AmazonS3...我在参数中使用“script-runner.jar”,我在参数中提到了一个命令sudoawss3cp/home/hadoop/conf/hdfs-site.xmls3://testbucket/myfolder/--recursive....但是该步骤失败并抛出以下异常:Exceptioninthread"main"java.lang.RuntimeException:Localfiledoesnotexist.atcom.amazon.elasticmapreduce.scriptrunner.ScriptR