问题标签 [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.
python - 在 Amazon EMR 上为 Pig UDF 加载外部 python 模块
我创建了一个 python UDF 来将日期时间转换为不同的时区。该脚本使用不随 python(或 jython)一起提供的 pytz。我尝试了几件事:
- 引导 PIG 安装它自己的 jython 并在该 jython 安装中包含 pytz。我无法让 PIG 使用新安装的 jython,它不断恢复为 Amazon 的 jython。
- 将 PYTHONPATH 设置为安装新模块的本地目录
- 将 HADOOP_CLASSPATH/PIG_CLASSPATH 设置为新安装的 jython
当我尝试加载 UDF 脚本时,每一个都以“ImportError:没有名为 pytz 的模块”结尾。如果我删除 pytz 脚本加载正常,所以它肯定是给它带来问题的外部模块。
编辑:最初将此作为评论,但我想我只是对其进行编辑:
我已经尝试了所有我知道的方法来让 PIG 识别另一个 jython jar。那没有奏效。亚马逊的 jython 在这里:/home/hadoop/.versions/pig-0.9.2/lib/pig/jython.jar,正在识别这个 sys.path:/home/hadoop/lib/Lib。我不知道如何针对这个 jar 构建外部库。
hadoop - Amazon Hadoop EMR 和自定义输入文件格式
我在让 Amazon EMR 接受自定义 InputFileFormat 时遇到了一些麻烦:
查看日志文件:
似乎 EMR 上的 Hadoop 假定默认InputFileFormat
阅读器......我做错了什么?
注意:我没有从 Hadoop 收到关于XmlInputClass
. *注2:*我进入<property><name>mapreduce.inputformat.class</name><value>com.xyz.XmlInputFormat</value></property>
文件jobs/some_job_id.conf.xml
。
更新:
php - HL7 - 触发 SIU 从 EMR 中提取信息
我正在寻找一种使用 HL7 从 EMR 中提取信息的方法。我需要从现有的 EMR 中获取调度信息。我需要的所有信息都在 SIU 消息中。但是,据我了解,这些只是通知并提供新信息的提要。我需要一种方法来为每个现有的调度记录触发 SIU-12,以便提取所有调度日期/时间。有没有办法用 HL7 实现这一点?
谢谢!
python - 确保 Hadoop EMR 上的日志
我在 Amazon EMR(15 个节点,>1.5 小时)上有一个长时间运行的 Hadoop 流作业。该作业在完成度约为 75% 时失败。我将 Python 用于 mapper 和 reducer。
我做了以下优化:
在使用模块发布日志条目后,我还添加了以下内容logging
:
尝试捕获错误无济于事:Hadoop 日志文件不显示我的错误 :(
如何让 Hadoop 记录我的消息而不丢弃任何消息???
hadoop - Hive Table 添加分区加载所有子目录
我正在使用 hive(带有外部表)来处理存储在 amazon S3 上的数据。
我的数据分区如下:(
group/team/dt/
例如,数据文件可能存储在路径中group=myGroup/team=myTeam/dt=20120603
)
我想为几个团队(在不同的组中)处理数据。由于 RCOVER PARTITIONS 需要很长时间,我想将基于组和团队值的多个分区添加到配置单元表(即,给定该团队中所有可用日期的组和团队负载数据)。
我正在寻找的功能是:
谢谢!
amazon-web-services - 如何让 EMR 继续运行
可能重复:重复
使用 Amazon Elastic MapReduce 实例
我可以让已启动的 EMR 集群继续运行并继续向其提交新作业,直到我完成(比如几天后)然后关闭集群,还是我必须在 EC2 中启动我自己的集群才能这样做?
amazon-web-services - 在输出到 HDFS 的 EMR 作业中使用 distcp 和 s3distcp 时出现问题
我在 AWS 的 EMR 上运行了一项作业,并将输出存储在 EMR 作业的 HDFS 中。然后我尝试通过 distcp 或 s3distcp 将结果复制到 S3,但两者都失败,如下所述。(注意:我不只是将我的 EMR 作业的输出直接发送到 S3 的原因是由于我在Where is my AWS EMR reducer output for my completed job 中描述的(当前未解决的)问题(应该在 S3 上,但那里什么也没有)?
对于 distcp,我运行(按照这篇文章的建议):
在错误日志(/mnt/var/log/hadoop/steps/8)中,我得到:
对于 s3distcp,我运行(按照s3distcp 文档):
在错误日志(/mnt/var/log/hadoop/steps/9)中,我得到:
任何想法我做错了什么?
更新:有人在 AWS 论坛上回复有关类似 distcp 错误的帖子提到 IAM 用户用户权限,但我不知道这意味着什么(编辑:我尚未创建任何 IAM 用户,因此它使用默认值); 希望它有助于查明我的问题。
更新 2:我在 namenode 日志文件中注意到此错误(重新运行 s3distcp 时)。我将查看默认 EMR 权限,看看是否是我的问题:
更新 3:我联系了 AWS Support,他们没有发现问题,所以现在正在等待他们的工程团队的回复。当我听到更多消息时会回复
python - 运行 python mrjob 字数统计示例时出错
我正在尝试使用mrjob运行示例字数地图减少任务。我收到以下错误:
json - 如何使用 JSON 数据制作 HIVE 表?
我想用一些 JSON 数据(嵌套)创建一个 Hive 表并对其运行查询?这甚至可能吗?
我已经将 JSON 文件上传到 S3 并启动了 EMR 实例,但我不知道在 hive 控制台中输入什么才能让 JSON 文件成为 Hive 表?
有没有人有一些示例命令让我开始,我找不到任何对谷歌有用的东西......
json - 使用 JSON 数据运行 Hive 查询时出错?
我有包含以下内容的数据:
我将其上传到 S3 并使用 Hive 控制台中的以下内容将其转换为 Hive 表:
查询:
输出很好,但只要我尝试使用get_json_object UDF
并运行查询:
我收到以下错误:
有谁知道出了什么问题?