(Translated by https://www.hiragana.jp/)
Jaql - Wikipedia

Jaql (JAQL) はJSONで格納かくのうされたビッグデータにたいするわせ処理しょり目的もくてきとした、関数かんすうがたデータ処理しょりおよびクエリ言語げんごである。

Google[1]のオープンソースプロジェクトとして開始かいしされたが、最新さいしんのリリースは2010ねん7がつ12にち. IBM[2]BigInsightsというHadoopソフトウェア・パッケージの処置しょち言語げんごとして、Jaqlを採用さいようした。

また、JSON のみならず CSVTSVXMLなどにも対応たいおうする。

A[3] によると、PIG Latin and Hive QL などのほかわせ言語げんごくらべても、遜色そんしょくのないパフォーマンスをしている。

JAQLは[4] 遅延ちえん評価ひょうか採用さいようしている。

文法ぶんぽう

編集へんしゅう

JAQLの基本きほんてき文法ぶんぽう

source -> operator(parameter) -> sink ;

ここでsinkは演算えんざんもとともなりる。 したがって、通常つうじょう、JAQLプログラムは、データ処理しょりグラフ表現ひょうげんして、つぎ構造こうぞうをとる必要ひつようがある。

source -> operator1(parameter) -> operator2(parameter) -> operator2(parameter) -> operator3(parameter) -> operator4(parameter) -> sink ;

一般いっぱんてきには以下いかのように、矢印やじるしのちにJAQLプログラムを改行かいぎょうさせてみやすくする。これはTwitter SCALDING共通きょうつうのイディオムでもあります。

source -> operator1(parameter)
-> operator2(parameter)
-> operator2(parameter)
-> operator3(parameter)
-> operator4(parameter)
-> sink ;

基本きほんてき演算えんざん[5]

編集へんしゅう

EXPANDしき使用しようして、ネストされた配列はいれつをフラットします。 このしきは、ネストされた配列はいれつT配列はいれつ入力にゅうりょくとしてり、かくネストされた配列はいれつ要素ようそさい上位じょうい出力しゅつりょく配列はいれつ昇格しょうかくさせることによって出力しゅつりょく配列はいれつ[T]を生成せいせいします。

FILTER演算えんざん使用しようして、指定していされた入力にゅうりょく配列はいれつから要素ようそ除外じょがいします。 この演算えんざんは、かたTの要素ようそ配列はいれつ入力にゅうりょくとしてり、おながた配列はいれつ出力しゅつりょくし、述語じゅつごしん評価ひょうかされる要素ようそ保持ほじします。 これは、SQL言語げんごWHERE相当そうとうします。 れい

data = [
 {name: "Jon Doe", income: 20000, mgr: false},
 {name: "Vince Wayne", income: 32500, mgr: false},
 {name: "Jane Dean", income: 72000, mgr: true},
 {name: "Alex Smith", income: 25000, mgr: false}
];

data -> filter $.mgr;

[
  {
    "income": 72000,
    "mgr": true,
    "name": "Jane Dean"
  }
]

data -> filter $.income < 30000;

[
  {
    "income": 20000,
    "mgr": false,
    "name": "Jon Doe"
  },
  {
    "income": 25000,
    "mgr": false,
    "name": "Alex Smith"
  }
]

GROUPしき使用しようして、1つまたは複数ふくすう入力にゅうりょく配列はいれつをグループキーにグループし、グループごとに集計しゅうけい関数かんすう適用てきようします。

JOIN演算えんざん使用しようして、2つ以上いじょう入力にゅうりょく配列はいれつあいだ結合けつごう表現ひょうげんします。 この演算えんざんは、naturalleft-outerright-outerouter joinsふく複数ふくすうのタイプの結合けつごうをサポートします。

入力にゅうりょくを1つ以上いじょうのフィールドでソートするにはSORT演算えんざん使用しようします。

TOPしきは、入力にゅうりょく最初さいしょ 要素ようそ選択せんたくします。 コンパレータが提供ていきょうされている場合ばあい出力しゅつりょく入力にゅうりょくをソートし、最初さいしょ 要素ようそ選択せんたくすることと意味いみてきおなじです。

TRANSFORM演算えんざん使用しようすると、プロジェクションを実現じつげんしたり、出力しゅつりょくのすべての項目こうもく関数かんすう適用てきようできます。

参照さんしょう

編集へんしゅう

外部がいぶリンク

編集へんしゅう