我可以在分区配置单元表上使用mrjob python库吗?

63lcw9qa  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(360)

我有一个用户访问hadoop服务器/集群,其中包含仅存储在hive(avro)分区表/文件中的数据。我想知道是否可以在这些表上使用python mrjob执行mapreduce?到目前为止,我一直在本地对存储在cdh5上的文本文件进行mrjob测试,开发的简单性给我留下了深刻的印象。
经过一些研究,我发现有一个名为hcatalog的库,但据我所知,它不适用于python(仅适用于java)。不幸的是,我没有太多时间学习java,我想坚持使用python。
你知道如何在配置单元存储的数据上运行mrjob吗?
如果这是不可能的,有没有办法将python编写的mapreduce代码流到hive(我不想把mapreduce python文件上传到hive)

hujrc8aj

hujrc8aj1#

正如alex所说,mr.job目前不处理avro格式化文件。但是,有一种方法可以直接在配置单元表上执行python代码(不需要mr.job,不幸的是失去了灵活性)。最后,我通过执行“addfilemapper.py”并使用transform执行select子句,成功地将python文件作为资源添加到配置单元中。。。使用….,将Map器的结果存储在单独的表中。配置单元查询示例: INSERT OVERWRITE TABLE u_data_new SELECT TRANSFORM (userid, movieid, rating, unixtime) USING 'python weekday_mapper.py' AS (userid, movieid, rating, weekday) FROM u_data; 这里有完整的示例(在底部):link

相关问题