我是hadoop的新手,我正在学习一些基本的教程。我下面的一个教程希望我用python编写hadoop mapreduce作业我已经成功地完成了所有工作,以下是总结的步骤:编写mapper.py和reducer.py脚本将本地示例数据复制到hdfs运行mapreduce作业我的问题是:如果我必须频繁地修改数据,然后运行mapreduce作业怎么办?我是否每次都要将修改后的数据加载到hdfs上,还是有办法直接在hdfs上修改?谢谢您
j0pj023g1#
每次修改数据时都必须将其上载到hdfs。另一个选项是使用hbase,它允许附加/更新现有数据。
wsxa1bj12#
这听起来不像是对hadoop的明智使用。hadoop用于分析相对静态的数据,即不更改数据的地方。它基本上是一次写入,多次读取的原理。文件一旦创建、写入和关闭就不需要更改。这一理念背后的一个重要原因就是简化了数据一致性问题,实现了高吞吐量的数据访问。回到你的实际问题上来,是的,每次数据改变时你都需要上传数据。但为什么你会如此频繁地更改数据呢?只需继续将更新的数据存储到hdfs中。毕竟hadoop是用来处理大数据的。
2条答案
按热度按时间j0pj023g1#
每次修改数据时都必须将其上载到hdfs。另一个选项是使用hbase,它允许附加/更新现有数据。
wsxa1bj12#
这听起来不像是对hadoop的明智使用。hadoop用于分析相对静态的数据,即不更改数据的地方。它基本上是一次写入,多次读取的原理。文件一旦创建、写入和关闭就不需要更改。这一理念背后的一个重要原因就是简化了数据一致性问题,实现了高吞吐量的数据访问。
回到你的实际问题上来,是的,每次数据改变时你都需要上传数据。但为什么你会如此频繁地更改数据呢?只需继续将更新的数据存储到hdfs中。毕竟hadoop是用来处理大数据的。