1
私はHortonworks Developer認定資格取得のために勉強しています。練習試験の1つの演習では、いくつかのネストされたクエリからテーブルを作成するよう求められます。Hiveのネストされたクエリステートメントでエイリアスが必要なのはなぜですか?
次の文がエラーを与える理由は、私にははっきりしていない:
SELECT * FROM (nested queries);
予想通り、この文は動作しますが:
SELECT a.* FROM (nested queries) AS a;
私の理解では、ハイブインタプリタは、逆の言い方で、すなわち最後の文を最初にデコードするので、実行のためにクエリを分析するためには名前が必要です。 explain queryコマンドを実行すると、より多くの洞察のためにどのようにクエリ・プランが実行されるかを知ることができます。 –
FROM句の各テーブルには名前が必要であるため[The SubQuery](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+SubQueries)に名前を付ける必要があります。 –