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
Hadoop和Cassandra比较2行_Hadoop_Cassandra_Bigdata_Datastax Enterprise_Brisk - Fatal编程技术网

Hadoop和Cassandra比较2行

Hadoop和Cassandra比较2行,hadoop,cassandra,bigdata,datastax-enterprise,brisk,Hadoop,Cassandra,Bigdata,Datastax Enterprise,Brisk,我在Cassandra ColumnFamily上有两行,我想比较具有相同Columnname的列的值,例如: CF:用户 关键字:列: K1:{Col1:“安迪”V1:“100”}{Col2:“汤姆”V2:“100”} K2:{Col1:“安迪”V1:“120”}{Col2:“汤姆”V2:“90”} 现在我想比较K2列和K1列之间的差异,以在Cassandra中得到这个结果: 关键字:列: 徖 K1:{Col1:“安迪”V1:“100”}{Col2:“汤姆”V2:“100”} K2:{Col

我在Cassandra ColumnFamily上有两行,我想比较具有相同Columnname的列的值,例如:

CF:用户

关键字:列:

K1:{Col1:“安迪”V1:“100”}{Col2:“汤姆”V2:“100”} K2:{Col1:“安迪”V1:“120”}{Col2:“汤姆”V2:“90”} 现在我想比较K2列和K1列之间的差异,以在Cassandra中得到这个结果:

关键字:列:

K1:{Col1:“安迪”V1:“100”}{Col2:“汤姆”V2:“100”} K2:{Col1:“安迪”V1:“120”差异:20}{Col2:“汤姆”V2:“90”差异:-10} 起初,我想用Hadoop编写代码,但我发现一个问题,我无法为映射过程定义两个键

Haddop是一个选择,因为它必须是一个可伸缩的解决方案

我希望每个人都有一个tipp

BG,
丹尼

我不明白用哪一行来表示减法的基础?K1[V1]-K2[V1]或反之亦然

好的,假设具有最近时间戳的行是一个基

映射步骤应发出以下信号(K=>V):

Reduce步骤将接收pair数组,因为每个值都按时间戳排序:

"Andy" => [ {"key":K1, "value":100, timestamp1},
            {"key":K2, "value":120, timestamp3} ]

"Tom"  => [ {"key":K1, "value":100, timestamp2},
            {"key":K2, "value":90,  timestamp4} ]
现在在reduce步骤中,您可以轻松地执行一个减法,并将必要的列(如“diff”)写入数据库

"Andy" => [ {"key":K1, "value":100, timestamp1},
            {"key":K2, "value":120, timestamp3} ]

"Tom"  => [ {"key":K1, "value":100, timestamp2},
            {"key":K2, "value":90,  timestamp4} ]