Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mapreduce 数百万条记录的增量更新,索引与连接_Mapreduce_Cassandra_Apache Pig_Bigdata_Full Table Scan - Fatal编程技术网

Mapreduce 数百万条记录的增量更新,索引与连接

Mapreduce 数百万条记录的增量更新,索引与连接,mapreduce,cassandra,apache-pig,bigdata,full-table-scan,Mapreduce,Cassandra,Apache Pig,Bigdata,Full Table Scan,我目前正在开发一种策略,用于增量更新我们的用户数据。我们假设数据库中有100_000_000条记录,其中每个工作流大约更新1_000_000条记录 其思想是更新MapReduce作业中的记录。使用索引存储(如Cassandra)来随机访问当前记录有用吗?或者最好从HDFS检索数据,并将新信息与现有记录连接起来 记录大小为O(200字节)。用户数据具有固定长度,但应可扩展。日志事件具有相似但不相等的结构。用户记录的数量可能会增加。近实时更新是可取的,即3小时的时间间隔是不可接受的,几分钟就可以了

我目前正在开发一种策略,用于增量更新我们的用户数据。我们假设数据库中有100_000_000条记录,其中每个工作流大约更新1_000_000条记录

其思想是更新MapReduce作业中的记录。使用索引存储(如Cassandra)来随机访问当前记录有用吗?或者最好从HDFS检索数据,并将新信息与现有记录连接起来

记录大小为O(200字节)。用户数据具有固定长度,但应可扩展。日志事件具有相似但不相等的结构。用户记录的数量可能会增加。近实时更新是可取的,即3小时的时间间隔是不可接受的,几分钟就可以了

您是否有过使用这些策略和数据的经验?
猪会合够快吗?读取所有记录是否总是一个瓶颈?卡桑德拉能有效地保存这么多的数据吗?哪种解决方案是可扩展的?系统的复杂性如何?

您需要首先定义您的需求。您的记录卷不是问题,但您没有给出记录长度。它们是否是固定长度、固定字段号,可能会随着时间的推移而改变格式?我们说的是100字节记录还是100000字节记录?如果希望按字段/列进行查询,则需要字段/列上的索引,除非您使用map/reduce完成所有工作。用户记录的数量是保持在100万条(一台服务器可能就足够了),还是每年增长100%(随着时间的推移,可能会有多台服务器添加新记录)

访问记录以进行更新的方式取决于是否需要实时更新记录,或者是否可以运行批处理作业。更新是每分钟、每小时还是每月


我强烈建议你做一些实验。你已经做过测试了吗?这将为你的问题提供一个背景,这将导致更客观的问题和答案。您不太可能根据您的问题“白板”一个解决方案。

您需要首先定义您的需求。您的记录卷不是问题,但您没有给出记录长度。它们是否是固定长度、固定字段号,可能会随着时间的推移而改变格式?我们说的是100字节记录还是100000字节记录?如果希望按字段/列进行查询,则需要字段/列上的索引,除非您使用map/reduce完成所有工作。用户记录的数量是保持在100万条(一台服务器可能就足够了),还是每年增长100%(随着时间的推移,可能会有多台服务器添加新记录)

访问记录以进行更新的方式取决于是否需要实时更新记录,或者是否可以运行批处理作业。更新是每分钟、每小时还是每月

我强烈建议你做一些实验。你已经做过测试了吗?这将为你的问题提供一个背景,这将导致更客观的问题和答案。你不太可能根据你的问题“白板”一个解决方案