私はa
と呼ばれる1つの列ファミリと約30列のHbaseテーブルを持っています。以下HBaseテーブルから値を取得する方法は?
ROW COLUMN+CELL
00:001000574 column=a:aasbig, timestamp=1486493154559, value=true
00:001000574 column=a:aasdel, timestamp=1486493154559, value=true
00:001000574 column=a:aasdhq, timestamp=1486493154559, value=false
00:001000574 column=a:aasfsc, timestamp=1486493154559, value=true
00:001000574 column=a:aasgbm, timestamp=1486493154559, value=true
00:001000574 column=a:aasgbr, timestamp=1486493154559, value=true
00:001000574 column=a:aasmcu, timestamp=1486493154559, value=true
00:001000574 column=a:aasser, timestamp=1486493154559, value=true
00:001000574 column=a:aastlp, timestamp=1486493154559, value=true
00:001000574 column=a:aasvia, timestamp=1486493154559, value=true
00:001000707 column=a:aasbig, timestamp=1486493154559, value=false
00:001000707 column=a:aasdel, timestamp=1486493154559, value=false
00:001000707 column=a:aasdhq, timestamp=1486493154559, value=true
00:001000707 column=a:aasfsc, timestamp=1486493154559, value=false
00:001000707 column=a:aasgbm, timestamp=1486493154559, value=false
00:001000707 column=a:aasgbr, timestamp=1486493154559, value=false
00:001000707 column=a:aasmcu, timestamp=1486493154559, value=false
00:001000707 column=a:aasser, timestamp=1486493154559, value=false
00:001000707 column=a:aastlp, timestamp=1486493154559, value=false
00:001000707 column=a:aasvia, timestamp=1486493154559, value=false
キー - 2行のセルの値を示すサンプルは、各列はtrue
又はfalse
のいずれかとの値を有しています。これらの値は変更の対象となり、1週間後に値が異なる可能性があります。私は古い価値観と新しい価値観を捉えたいと思っています。結果はCSVファイルに保存する必要があります。
私が最初にコードを実行するときに、OLDVALUEがNULLであるとみなされ、HBaseテーブルのすべての値がNEWVALUEの一部である必要があります。
以下は、初めて実行したときにCSVファイルに出力したい出力です。病棟での二回目以降
NUM,PRODUCT,OLDVALUE,NEWVALUE
001000574,aasbig,NULL,true
001000574,aasdel,NULL,true
001000574,aasdhq,NULL,false
001000574,aasfsc,NULL,true
001000574,aasgbm,NULL,true
001000574,aasgbr,NULL,true
001000574,aasmcu,NULL,true
001000574,aasser,NULL,true
001000574,aastlp,NULL,true
001000574,aasvia,NULL,true
001000707,aasbig,NULL,false
001000707,aasdel,NULL,false
001000707,aasdhq,NULL,true
001000707,aasfsc,NULL,false
001000707,aasgbm,NULL,false
001000707,aasgbr,NULL,false
001000707,aasmcu,NULL,false
001000707,aasser,NULL,false
001000707,aastlp,NULL,false
001000707,aasvia,NULL,false
私は前回の実行からNEWVALUES
内のすべての値が今OLDVALUES
の下にあるべきとNEWVALUES
はHBaseのテーブルから現在の値を取得する必要があるコードを実行します。私が試した以下のサンプル出力
NUM,PRODUCT,OLDVALUE,NEWVALUE
001000574,aasbig,true,true
001000574,aasdel,true,true
001000574,aasdhq,false,false
001000574,aasfsc,true,true
001000574,aasgbm,true,false
001000574,aasgbr,true,true
001000574,aasmcu,true,false
001000574,aasser,true,false
001000574,aastlp,true,true
001000574,aasvia,true,true
001000707,aasbig,false,true
001000707,aasdel,false,true
001000707,aasdhq,true,true
001000707,aasfsc,false,false
001000707,aasgbm,false,false
001000707,aasgbr,false,false
001000707,aasmcu,false,true
001000707,aasser,false,true
001000707,aastlp,false,false
001000707,aasvia,false,true
のように:私はハイブオンHBaseのテーブルを作成し、テーブルを照会しながら、 私だけNUM
とvalue
を得ることができました。 HBaseの列名を取得できませんでした。また、私はいくつかの結合操作を実装しない限り、古い値と新しい値を得ることに挑戦しました。
これを達成するために豚のスクリプトを書くことはできますか?
ご迷惑をおかけして申し訳ありません。
回答を編集して例を挙げて説明してください。 –