8
ハイブで地図タイプを定義しようとしています。 Hive Manualによれば、間違いなくマップタイプですが、残念ながらそれを使用する方法に関する例はありません。 :-(ハイブのマップタイプ変数
と仮定、私は次の列を持つ(ユーザー)テーブルを持っている:。
Name Ph CategoryName
この「カテゴリ名」列が値の特定のセットを持っている今、私は区分に区分名をマッピングするハッシュテーブルを作成したいです。私はを行うと
:
set hivevar:nameToID=map('A',1,'B',2);
は、私は2つの質問を持っている:私はやってみました私はそれが1として値をプリントアウトするだろうと思った。しかし、私は 取得「$ {hivevarを:nameToID [ 『A』]は}未定義です」
私は私が何か
select name, ph, ${nameToID[CategoryName]} from users
、のように言うことができるかわかりません
これらについてお知らせください。 ありがとう!
ありがとう返信Lorandのために。私はちょうど我々のノード上のハイブバージョンをチェックし、残念ながらそれは0.8.1.6です。だから私はここで運が悪いと思う。あなたのお手伝いをしてくれてありがとうございます。 – test123
それは0.8.1でも動作します! –
こんにちはロラン、ここに私が試しているものがあります: 'ハイブ>ハイブヴァールを設定:nameToID = map(" t "、" 2 "、" c "、" 1 "); ' hive> $ {nameToID} ["t"]; ' ' $ {nameToID} ["t"]は未定義です – test123