4

Impala で外部テーブルを作成しました。そのテーブルに特定の列が存在するかどうかを確認するシェル スクリプトを作成しています。

次のクエリを使用して、MySql でこれを行うことができます。

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
    AND TABLE_NAME = 'table_name' 
    AND COLUMN_NAME = 'column_name'

しかし、Impala では、どうすればこれを達成できるでしょうか?

4

2 に答える 2

2

Cloudera ImpalaにはSHOW ステートメントがあります。

SHOW ステートメントは、さまざまなタイプの Impala オブジェクトに関する情報を柔軟に取得する方法です。

ユースケースでは、 SHOW COLUMN STATS ステートメントを使用できます。

SHOW COLUMN STATS myTableName

次の情報が返されます。

+------------------------+--------+------------------+--------+----------+----------+
| Column                 | Type   | #Distinct Values | #Nulls | Max Size | Avg Size |
+------------------------+--------+------------------+--------+----------+----------+
| my_column_id           | INT    | -1               | -1     | 4        | 4        |
| my_string_column_name  | STRING | -1               | -1     | -1       | -1       |
| some_column_name       | INT    | -1               | -1     | 4        | 4        |
...
于 2016-05-11T11:45:25.077 に答える