■ はじめに
https://dk521123.hatenablog.com/entry/2019/09/15/100727
の続き。 今回は、「Hive / HiveQL」を扱う。
目次
【1】Hive 【2】HiveQL (ハイブキューエル) 【3】関連用語 1)パーティション(Partition) 2)メタストア (Metastore) 3)メタデータ (Metadata)
【1】Hive
* Facebook社で開発 * MapReduceをより使いやすくするためのツール * HDFS(Hadoop Distributed File System;Hadoop 分散ファイルシステム) 上のデータ(ファイル)をSQLチックな言語で操作するデータ操作言語
リファレンス
https://cwiki.apache.org/confluence/display/Hive/LanguageManual
注意点
コンパクトに書かれているので一読するといいかも。 勉強になった。
https://qiita.com/woadachi/items/6aff2d01ceddf9b94c2d
【2】HiveQL (ハイブキューエル)
* SQLライクの言語 * Hiveのデータを操作できる
補足
* Spark SQL とは、別物。 => 以下の関連記事を参照。
https://dk521123.hatenablog.com/entry/2019/09/14/123206
【3】関連用語
1)パーティション(Partition)
https://en.wikipedia.org/wiki/Partition_(database)
より抜粋 A partition is a division of a logical database or its constituent elements into distinct independent parts 【(Google)翻訳】 パーティションは、論理データベースまたはその構成要素を別個の独立した部分に分割したものです => データを検索する際、スキャンするデータ量を制限し、その結果、パフォーマンス向上する
2)メタストア (Metastore)
* メタデータを管理する場所 * クラスタ外に持つことができる
3)メタデータ (Metadata)
* Apache Hive のテーブルと Hadoop (HDFS) 上のファイルとの対応情報 * テーブル、パーティション、ロールなどの情報
例
* 1番目のフィールド: ID (string) * 2番目のフィールド: Name (string) * 3番目のフィールド: Birth date (Date) * フィールド区切り文字: ',' * 行の区切り文字: '¥n'
参考文献
https://hogetech.info/oss/apache/hive
https://www.atmarkit.co.jp/ait/articles/0902/27/news129.html
https://www.atmarkit.co.jp/ait/articles/1701/01/news022.html
https://qiita.com/wwacky/items/358fb9145db3143220f6
https://gihyo.jp/admin/serial/01/halook/0010
https://tech.nikkeibp.co.jp/it/article/COLUMN/20120418/391532/
関連記事
Hive / HiveQL ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/02/25/231235
Hive / HiveQL ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2020/06/02/183823
Hive / HiveQL ~ テーブル作成 ~
https://dk521123.hatenablog.com/entry/2020/11/03/000000
Hive / HiveQL ~ パーティション / 基本編 ~
https://dk521123.hatenablog.com/entry/2020/07/16/224332
Hive / HiveQL ~ パーティション / あれこれ編 ~
https://dk521123.hatenablog.com/entry/2020/09/18/113637
Hive / HiveQL ~ データ圧縮あれこれ ~
https://dk521123.hatenablog.com/entry/2021/08/06/172502
Hive / HiveQL ~ Hiveコマンド ~
https://dk521123.hatenablog.com/entry/2023/02/21/223137
Hive / HiveQL ~ CASE文 ~
https://dk521123.hatenablog.com/entry/2021/06/19/073248
Hive / HiveQL ~ JOIN文 ~
https://dk521123.hatenablog.com/entry/2021/06/16/152019
Hive / HiveQL ~ コメント文 ~
https://dk521123.hatenablog.com/entry/2021/06/25/162430
Hive / HiveQL ~ HiveQL関数 / 文字列置換編 ~
https://dk521123.hatenablog.com/entry/2020/03/10/224640
Hive / HiveQL ~ HiveQL関数・regexp_replace編 ~
https://dk521123.hatenablog.com/entry/2021/06/18/184713
Hive / HiveQL ~ HiveQL関数・文字列関数編 ~
https://dk521123.hatenablog.com/entry/2021/06/21/231033
Hive / HiveQL ~ HiveQL関数 / NULL関連編 ~
https://dk521123.hatenablog.com/entry/2021/06/22/213241
Hive / HiveQL ~ HiveQL関数 / 日時・日付操作編 ~
https://dk521123.hatenablog.com/entry/2021/02/11/233633
Hive / HiveQL ~ 設定プロパティ ~
https://dk521123.hatenablog.com/entry/2020/09/19/152136
Hive / HiveQL ~ Hiveの変数 ~
https://dk521123.hatenablog.com/entry/2021/06/24/094254
Hive / HiveQL ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2020/03/04/225943
Hive / HiveQL ~ データをクリーニングする ~
https://dk521123.hatenablog.com/entry/2020/07/06/232350
Hiveクエリで入力ファイル名を取得するには
https://dk521123.hatenablog.com/entry/2020/11/16/162114
Hive / HiveQL ~ デバッグ編 ~
https://dk521123.hatenablog.com/entry/2020/07/29/141607
Hiveで固定値を挿入するには
https://dk521123.hatenablog.com/entry/2020/09/22/000000
Hive に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/11/20/174039
Hive / Partition に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/05/28/175428
エラー「SemanticException Cartesian products are disabled for safety reasons」が発生する
https://dk521123.hatenablog.com/entry/2021/06/12/093046
Amazon EMR に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/08/05/144724
EMR / DBアクセス に関するトラブルシューティング
https://dk521123.hatenablog.com/entry/2021/06/17/114611
テーブルアクセス時に例外「Vertex failed, ... InvalidInputException」が発生する
https://dk521123.hatenablog.com/entry/2021/07/06/120134
Apache Spark ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/09/14/123206
AWS Glue ~ 基本編 / クローラ ~
https://dk521123.hatenablog.com/entry/2019/12/01/003455
全く関係ないテーブルを結合することを考える
https://dk521123.hatenablog.com/entry/2021/09/16/185552