Hive クエリ言語とは: HiveQL Operaトー

Hive クエリ言語 (HiveQL) とは何ですか?

ハイブ クエリ言語 (HiveQL) は、構造化データの処理と分析のための Apache Hive のクエリ言語です。これにより、ユーザーは Map Reduce プログラミングの複雑さから解放されます。テーブル、行、列、スキーマなどのリレーショナル データベースの一般的な概念を再利用して、学習を容易にします。Hive は、Hive クエリ言語 (HiveQL) を使用して Hive クエリを記述するための CLI を提供します。

ほとんどの対話はコマンド ライン インターフェイス (CLI) 経由で行われる傾向があります。 一般に、HiveQL 構文は次のようになります。 SQL ほとんどのデータ アナリストがよく知っている構文です。 Hive は、TEXTFILE、SEQUENCEFILE、ORC、RCFILE (Record Columnar File) の XNUMX つのファイル形式をサポートしています。

Hive は、単一ユーザーのメタデータ ストレージに Derby データベースを使用し、複数ユーザーのメタデータまたは共有メタデータの場合は MYSQL を使用します。

HiveQL 組み込み Operaトー

Hive は、Hive ウェアハウス内に存在するテーブルに対してデータ操作を実装するための組み込み演算子を提供します。

これらの演算子はオペランドに対する数学演算に使用され、適用されたロジックに従って特定の値を返します。

以下に主なビルトインの種類を示します。 OperaHiveQL のトール:

  • リレーショナル Operaトー
  • 算術 Operaトー
  • 論理的 Operaトー
  • Opera複合型のtors
  • 複合型コンストラクタ

リレーショナル OperaHive SQL のトール

2 つのオペランド間の関係の比較には関係演算子を使用します。

  • Opera等しい、等しくない、より小さい、より大きいなどの条件
  • オペランド型はすべて数値型である。 Operators。

次の表は、リレーショナル演算子と HiveQL でのその使用法の詳細を示しています。

内蔵 Operaタ 説明 Operand
X = Y TRUE

式 X が式 Y と等しい場合

それ以外の場合は FALSE です。

すべてのプリミティブ型を受け取ります
X != Y TRUE

式 X が式 Y と等価でない場合

それ以外の場合は FALSE です。

すべてのプリミティブ型を受け取ります
X < Y TRUE

式 X が式 Y より小さい場合

それ以外の場合は FALSE です。

すべてのプリミティブ型を受け取ります
X <= Y TRUE

式 X が式 Y 以下の場合

それ以外の場合は FALSE です。

すべてのプリミティブ型を受け取ります
X>Y TRUE

式 X が式 Y より大きい場合

それ以外の場合は FALSE です。

すべてのプリミティブ型を受け取ります
X>= Y TRUE

式 X が式 Y 以上の場合

それ以外の場合は FALSE です。

すべてのプリミティブ型を受け取ります
X は NULL です 式 X が NULL と評価される場合は TRUE、それ以外の場合は FALSE になります。 すべてのタイプが必要です
X は NULL ではありません 間違った情報

式 X が NULL と評価される場合は NULL、それ以外の場合は TRUE と評価されます。

すべてのタイプが必要です
X のような Y TRUE

文字列パターン X が Y と一致する場合は FALSE、そうでない場合は FALSE。

文字列のみを受け取ります
X RIKE Y X または Y が NULL の場合は NULL、X のいずれかの部分文字列が一致する場合は TRUE Java 正規表現の場合は Y、それ以外の場合は FALSE です。 文字列のみを受け取ります
X 正規表現 Y RLIKEと同じです。 文字列のみを受け取ります

HiveQL 算術演算 Operaトー

算術演算子はオペランドに対して算術演算を実行するために使用します。

  • 加算、減算、乗算、除算などの算術演算は、これらを使用してオペランド間で行います。 Operators。
  • これらのオペランド型はすべて数値型である。 Operaトー

サンプル例:

2 + 3 の結果は 5 になります。

この例では、「+」が演算子で、2と3がオペランドです。戻り値は5です。

次の表は、Hive クエリ言語の算術演算子の詳細を示しています。

内蔵 Operaタ 説明 Operand
X+Y X と Y の値を加算した出力が返されます。 すべての数値タイプを受け取ります
X–Y X 値から Y を減算した出力を返します。 すべての数値タイプを受け取ります
X * Y X 値と Y 値を乗算した出力を返します。 すべての数値タイプを受け取ります
X/Y Y を X から除算した出力を返します。 すべての数値タイプを受け取ります
X%Y X を Y で割った余りを返します。 すべての数値タイプを受け取ります
X&Y X と Y のビット単位の AND の出力を返します。 すべての数値タイプを受け取ります
X | よ X と Y のビット単位の OR の出力を返します。 すべての数値タイプを受け取ります
X^Y X と Y のビット単位の XOR の出力を返します。 すべての数値タイプを受け取ります
~X X のビットごとの NOT の出力を返します。 すべての数値タイプを受け取ります

Hive QL 論理 Operaトー

論理演算子はオペランドに対して論理演算を実行するために使用します。

  • AND、OR、NOTなどの論理演算をオペランド間で使用する場合、これらを使用します。 Operators。
  • これらのオペランド型はすべてBOOLEAN型です Operaトー

次の表は、HiveSQL の論理演算子の詳細を示しています。

オペレーター 説明 OperaNDS
XとY X と Y の両方が TRUE の場合は TRUE、それ以外の場合は FALSE です。 ブール型のみ
X && Y X AND Y と同じですが、ここでは && 記号を使用します。 ブール型のみ
X または Y X または Y のいずれか、あるいは両方が TRUE の場合は TRUE、それ以外の場合は FALSE です。 ブール型のみ
X || よ X OR Y と同じですが、ここでは || を使用します。 シンボル ブール型のみ
×ではありません X が FALSE の場合は TRUE、それ以外の場合は FALSE です。 ブール型のみ
!X NOT X と同じですが、ここでは使用します! シンボル ブール型のみ

Opera複合型に関する

次の表は複合型の詳細を示しています Operaこれらは、複合型の要素にアクセスするための異なるメカニズムを提供する演算子です。

オペレーター OperaNDS 説明
A[n] A は配列、n は整数型です 配列 A の n 番目の要素が返されます。最初の要素のインデックスは 0 です。
M[キー] M は地図ですキーのタイプは K です マップ内のキーに属する値が返されます

複合型コンストラクタ

次の表は、複合型コンストラクタの詳細を示しています。複合データ型のインスタンスを構築します。これらは、配列、マップ、構造体などの複合データ型です。 ハイブ.

このセクションでは、複合型コンストラクターで実行される操作について説明します。

オペレーター OperaNDS 説明
配列 (val1、val2、…) val1、val2 のように、指定された要素を含む配列が作成されます。
ユニオンの作成 (タグ、val1、val2、…) タグパラメータで指定されている値を使用して共用体型を作成します。
地図 (キー1、値1、キー2、値2、…) オペランドに指定されたキー/値のペアを持つマップを作成します。
名前付き構造体 (name1、val1、name2、val2、…) オペランドに指定されたフィールド名と値を持つ構造体を作成します。
構造体 (val1、val2、val3、…) 指定されたフィールド値を使用して構造体を作成します。 構造体のフィールド名は、col1、col2、... になります。

まとめ

  • Hive Query Language (HiveQL) は、次のクエリ言語です。 アパッチ 構造化データを処理および分析するための Hive。
  • Hive は、Hive ウェアハウス内に存在するテーブルに対してデータ操作を実装するための組み込み演算子を提供します。
  • 内蔵の種類 OperaHiveQL の Tor は次のとおりです。
  • リレーショナル Operaトー
  • 算術 Operaトー
  • 論理的 Operaトー
  • Opera複合型のtors
  • 複合型コンストラクタ