问题标签 [emr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
variables - 在 Hive 中运行使用 Hive 的变量值作为输入的 shell 命令
我有一个 python 脚本,它接收 Hive 表名和 2 个日期,并在这些日期之间添加所有分区。(运行一堆hive -e 'alter table add partition (date=...)'
)
我想做的是在运行具有 hiveconf:date 变量的 Hive 脚本时将其作为输入传递给 python 脚本。
就像是:
但当然变量替换不会发生......
有什么办法可以做到这一点?
hive - 将时间分区添加到表的最佳实践
有一个事件表,按时间(年、月、日、小时)分区想要在配置单元脚本中加入一些事件,这些事件将年、月、日、小时作为变量,你如何添加例如所有 6 小时的事件在我没有“恢复所有……”的情况下之前
10倍
hadoop - 我可以从 AWS Elastic Mapreduce 作业访问 zookeeper
我是 Hadoop 新手,在 AWS Elastic Mapreduce 下运行。
我需要 Hadoop 中的集群范围的原子计数器,并建议为此使用 zookeeper。
我相信 zookeeper 是 Hadoop 堆栈的一部分(对吗?),我如何从 Elastic Mapreduce 作业访问它以设置和更新集群范围的计数器?
hadoop - 为什么第一组 Mappers 完成后 Map Jobs 会变慢?
假设我有 100 个映射器并行运行,总共有 500 个映射器在运行。
每个映射器接收的输入大小几乎相同,每个映射器应该花费的处理时间应该或多或少相同。
但是假设前 100 个映射器在 20 分钟内完成,接下来的 100 个映射器大约需要 25-30 分钟,下一批 100 个映射器每个大约需要 40-50 分钟。然后我们得到 GC 开销错误。
为什么会这样?
我已经设置了以下配置:
这里还能做什么?
hadoop - 如何确定并行映射器/减速器的数量以及堆内存?
假设我有一个 EMR 作业在 11 个节点集群上运行:m1.small 主节点,而 10 个 m1.xlarge 从节点。
现在一个 m1.xlarge 节点有 15 GB 的 RAM。
那么如何决定可以设置的并行映射器和减速器的数量?
我的工作是内存密集型的,我希望将越来越多的堆分配给 JVM。
另一个相关问题:如果我们设置以下参数:
那么这 4GB 将由 4 个进程(2 个映射器和 2 个减速器)共享还是每个进程都获得 4GB?
file-io - 如何在 Amazon Elastic MapReduce 中读取外部文件
您好我是使用 Amazon EMR 和 Hadoop 的新手。我想知道如何从 EMR 作业中读取外部文件(存储在 S3 中)。例如,我有一个包含一长串列入黑名单的字符串的文件。当我的 EMR 作业正在处理我的输入时,我如何让作业事先读取此列入黑名单的字符串列表,以便在处理期间使用它?
我尝试使用常规的 Java Scanner 类并对文件的 S3 路径进行硬编码,但这似乎不起作用,尽管我可能做错了......
hadoop - 使用 s3distcp 和 Amazon EMR 复制单个文件
我想使用 s3distcp 将单个文件复制到 HDFS。我曾尝试使用 srcPattern 参数,但它没有帮助,它继续抛出 java.lang.Runtime 异常。我使用的正则表达式可能是罪魁祸首,请帮忙。
我的代码如下:
抛出异常:
java - 为大型数据集(5 GB)提供快速访问键值存储的最佳方法
有一个大小约为 5GB 的数据集。这个大数据集每行只有一个键值对。现在这需要读取数十亿次键的值。
我已经尝试过MapDB的基于磁盘的方法,但是它抛出ConcurrentModification Exception
并且还不够成熟,无法在生产环境中使用。
我也不想将它放在数据库中并进行十亿次调用(尽管可以在这里完成一定级别的内存缓存)。
基本上,我需要在 hadoop 工作步骤的映射器/归约器中访问这些键值数据集。
emr - 将文件从 S3 复制到 Amazon EMR 上的 maprfs
有谁知道使用 Amazon 的 S3Distcp 工具和在 EMR 上运行的 MapR 是否存在问题?我正在尝试使用它,但在 /mnt/var/log/hadoop/steps 中不断出现以下异常:
我用来提交作业步骤的命令行是:
对于 --dest 参数,我也尝试了 maprfs:///PVData/raw 和 hdfs:///PVData/raw ,但它们也不起作用。
hadoop - 从 Hadoop Job Tracker Web 界面访问 EMR 任务日志
我已经为我的主/从节点打开了 EC2 安全组,因此我可以从本地浏览器访问作业跟踪器界面。我使用http://MASTER-IP:9100
.
一切正常,直到我尝试从任务详细信息中访问任务跟踪器日志 -http://ec2-xx-xx-xx-xx.compute-1.amazonaws.com:9100/taskdetails.jsp?tipid=task_201212181113_0001_m_000000
我获得的链接指向内部 EC2 IP 地址,因此我无法从本地计算机访问它们(链接是http://10.116.xxx.xx:9103/tasklog?attemptid=attempt_201212181113_0001_m_000000_0&all=true
)
有没有办法更改 EMR 以使这些链接包含任务跟踪器的公共 IP?
谢谢!