如何使用pig访问cassandra列

jexiocij  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(363)

我的cassandra键空间中有一个简单的列族。我需要使用pig访问它。请帮助我了解它的工作原理:

SD = LOAD 'cassandra://SampleData/Queries' USING CassandraStorage() as (f1,f2,f3);

如果我表演

X  = foreach SD generate f1; dump X;

它给了我所有的钥匙 ``Queries'' table. I need to be able to generate a couple(键,值)'其中key' is a row key and` value'是此键指定名称为'updatetimestamp'的列的值
我想如果我这么做了

Y = foreach SD generate f2.name; dump Y;

它遍历所有行的列表并打印每行中列的名称列表
如果我这样做了

Z = foreach SD generate f2.value; dump Z;

它给了我和上面一样的东西,除了列名之外,它打印列值。
我需要能够生成这样的关系(键、时间戳):

T = foreach SD generate (f1, f2.value(for f2.name == 'UpdateTimeStamp'));

显然,Pig不会接受上面的说法;

yizd12fk

yizd12fk1#

cassandra中的列作为元组的内袋装入清管器。
试试这个

data = LOAD 'cassandra://SampleData/Queries' USING CassandraStorage()
   AS (keycolumn, columns: bag {T: tuple(columnname, columnvalue)});

dump data; // check for what is in the data alias

data2 = FOREACH data GENERATE keycolumn, columns.name);

dump data2;

相关问题