Hive

【Hive】Hive / HiveQL ~ Hiveの変数 ~

■ はじめに hive の変数 hiveconf について扱ったのでまとめておく。 目次 【0】公式ドキュメント 【1】Hiveの変数の種類 1)hivevar 2)hiveconf 3)env 4)system 【2】指定の仕方 1)コマンドラインからの指定 2)ファイル内での指定 【3】デバ…

【Hive】Hive / HiveQL ~ HiveQL関数 / NULL関連編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/03/10/224640 https://dk521123.hatenablog.com/entry/2021/06/18/184713 https://dk521123.hatenablog.com/entry/2021/06/21/231033 の続き。 COALESCEを使っている処理があったので、 COALESCE や …

【Hive】Hive / HiveQL ~ HiveQL関数・文字列関数編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/03/10/224640 https://dk521123.hatenablog.com/entry/2021/06/18/184713 の続き。 今回は、文字列操作する際の関数群をまとめておく。 目次 【0】API仕様 【1】lower() / lcase() 【2】upper() /…

【Hive】Hive / HiveQL ~ CASE文 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/06/18/184713 で、CASE文を使った際に、 構文エラーになった (ただ単に「end」が抜けていた) ので hive の CASE文について、整理しておく。 目次 【1】CASE文 - CASE statements 【2】構文 1)単…

【Hive】Hive / HiveQL ~ HiveQL関数・regexp_replace編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/03/10/224640 の続き。 長いHQLを実行した際にエラーになったので、 その長いHQLのサブクエリを単独で実行してどこに原因があるかを 調査していた。 その際、regexp_replace を使っていたので、メモ…

【トラブル】【AWS】EMR / DBアクセス に関するトラブルシューティング

■ はじめに Amazon EMR 上で エラー「Error encountered near token 'TOK_TMP_FILE'」や エラー「NoRouteToHostException: No route to host」が発生した。 その際の調査方法や解決案などを記しておく。 目次 【1】発生現象 / エラー内容 1)Create table …

【Hive】Hive / HiveQL ~ JOIN文 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/06/12/093046 に関して、細かく調査したら、JOIN の ON がないので、 交差結合(CROSS JOIN, Cartesian product)になり エラーが起きてたのが分かった。 そこで、今回は JOIN文について、改めて纏め…

【トラブル】【Hive】エラー「SemanticException Cartesian products are disabled for safety reasons」が発生する

■ はじめに https://dk521123.hatenablog.com/entry/2020/05/28/175428 https://dk521123.hatenablog.com/entry/2020/11/20/174039 の続き。 今回は、別環境で動いているHQLを実行したら エラーになった際のトラブルシュートをメモする。 目次 【1】概要 【…

【Hive】【SQL】ROW_NUMBER + PARTITION BY

■ はじめに Hive でデータが積み重なるようなテーブル (例えば、ユーザ情報で入会・退会するようなデータ)に対して ユーザの最新/過去直近情報を取得するのに、 ROW_NUMBER + PARTITION BY を使ったので、メモする。 他にも応用が利きそう。 ■ サンプル RO…

【トラブル】Hadoop / Hive 環境構築時のトラブルシューティング

■ はじめに https://dk521123.hatenablog.com/entry/2019/12/26/223506 https://dk521123.hatenablog.com/entry/2020/01/01/000000 https://dk521123.hatenablog.com/entry/2020/01/02/000000 で発生した環境構築でのトラブルをメモしておく 目次 【1】エラ…

【Hive】Hive / HiveQL ~ HiveQL関数 / 日時・日付操作編 ~

■ はじめに Hive で日付・日時の操作をする必要ができたので、メモ。 徐々に増やしていく。 目次 【0】関連する関数 【1】現在日時/日付の取得 1)現在日時 - CURRENT_TIMESTAMP 2)現在日付 - CURRENT_DATE 注意「unix_timestamp(void) is deprecated」…

【トラブル】【Hive】Hive に関するトラブルシューティング

■ はじめに https://dk521123.hatenablog.com/entry/2020/05/28/175428 の続き。 Hiveで発生したトラブルをまとめる。 目次 【1】エラー「Cannot inspect org.apache.hadoop.io.IntWritable」が発生する 【2】エラー「java.lang.NoClassDefFoundError: sca…

【Hive】Hiveクエリで入力ファイル名を取得するには

■ はじめに 小ネタ。 今回は、Hiveクエリで入力ファイル名を取得する方法をメモする。 なお、PySparkでは、以下の関連記事を参照のこと。 https://dk521123.hatenablog.com/entry/2021/04/12/145133 ■ Hiveクエリで入力ファイル名を取得するには * INPUT__FI…

【Hive】Hive / HiveQL ~ テーブル作成 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/02/25/231235 https://dk521123.hatenablog.com/entry/2020/06/02/183823 の続き。 長くなったので、テーブル作成だけで分冊。 目次 【1】テーブル作成 1)CREATE TABLE:内部テーブル作成 2)CRE…

【Hive】Hive で固定値を挿入するには

■ はじめに 小ネタ。 今回は、テスト用のデータ(固定値)をダミーデータとして Hiveのテーブルに突っ込む方法をメモ。 ■ サンプル USE target_db; set hive.execution.engine=mr; CREATE EXTERNAL TABLE sample_test_table( sample_id STRING, name STRING, c…

【Hive】Hive / HiveQL ~ 設定プロパティ ~

■ はじめに Hive の 設定プロパティ(Configuration Properties) について 大分、知識が溜まってきたので、まとめておく。 公式サイト https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties * なお、Hadoopに関する設定プロパティにつ…

【Hive】Hive / HiveQL ~ パーティション / あれこれ編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/07/16/224332 の続き。 Hive の パーティション (Partition) にまつわるTipsをまとめておく cf Partition = 仕切り壁、分割、分配 目次 【1】Partition 関連の設定プロパティ 1)hive.exec.dynamic…

【Hive】Hive / HiveQL ~ デバッグ編 ~

■ はじめに Hive / HiveQL のデバッグで得た知識を纏める。 目次 【1】標準出力するには 【2】詳細ログ・ログの抑制を行うには 【1】標準出力するには !echo "hello world. ${value1}"; 参考文献 https://stackoverflow.com/questions/28703405/output-ec…

【Hive】Hive / HiveQL ~ パーティション / 基本編 ~

■ はじめに Hive の パーティション (partition) について、まとめる cf Partition = 仕切り壁、分割、分配 目次 【1】文法 1)CREATE TABLE 2)INSERT SELECT 3)ALTER TABLE ADD PARTITION 4)MSCK REPAIR TABLE 【1】文法 1)CREATE TABLE 2)INS…

【Hive】Hive / HiveQL ~ データをクリーニングする ~

■ はじめに HiveQL でデータをクリーニングすることをやったので メモっとく。 目次 【1】CASE文を使って値を置き換える 【2】日時・日付形式を変更する 【1】CASE文を使って値を置き換える * CASE文に関する詳細は、以下の関連記事を参照のこと Hive / H…

【Hive】Hive / HiveQL ~ 基本編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/02/25/231235 の続き。 HiveQL を書く機会が得られて、 ちょこちょこSQLと違うので、基本文法を中心にメモる。 目次 【0】データベース関連 【1】テーブル作成 【2】テーブル削除 【3】テーブル…

【トラブル】【Hive】Hive / Partition に関するトラブルシューティング

■ はじめに https://dk521123.hatenablog.com/entry/2020/05/27/175610 などで、でてきたトラブルを纏める 目次 【1】エラー「Column repeated in partitioning columns」が発生する 【2】エラー「Need to specify partition columns」が表示 ※ その他のHi…

【分散処理】PySpark ~ Hive ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/11/14/221126 https://dk521123.hatenablog.com/entry/2019/11/24/225534 https://dk521123.hatenablog.com/entry/2020/01/04/150942 の続き。 今回は、Python から Hive / HiveQL を使えるやり方を …

【Hive】Hive / HiveQL ~ HiveQL関数 / 文字列置換編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/02/25/231235 の続き。 今回は、 文字列置換の関数に絞って、知識を整理する 目次 【0】API仕様 【1】translate() 【2】replace() 【3】regexp_replace() 【0】API仕様 https://cwiki.apache.or…

【Hive】Hive / HiveQL ~ あれこれ編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/02/25/231235 の続き。 Hiveの解析を行っていて、 徐々にだが知識が積み重なってきたので、ここで整理。 目次 【1】 Hiveコマンドオプション 【2】 WITH 句 【1】 Hiveコマンドオプション 以下の…

【Hive】Hive / HiveQL ~ 入門編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/12/28/021109 https://dk521123.hatenablog.com/entry/2020/01/02/000000 https://dk521123.hatenablog.com/entry/2019/11/25/235219 で、Hive の環境設定を行った。 今回は、HiveQL の Hello World …

【Hive】Hive / HiveQL ~ 環境設定 / Linux編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/01/01/000000 の続き。 目次 【0】設定環境 1)前提条件 【1】Derby のインストール 1)Derby の ダウンロード 2)Derby の インストール 3)環境変数の設定 4)環境変数の有効化 5)動作確…

【Hive】Hive / HiveQL ~ 環境設定 / Windows編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/12/26/223506 の続き。 やっとこ、Apache Hadoop on Windows が終わったので 今度は、Hive環境を構築する ■ 設定環境 DBについては、サポートされているDB(※)から 選択すればいいが、今回は、Derby…

【Hive】Hive / HiveQL ~ 基礎知識編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2019/09/15/100727 の続き。 今回は、「Hive / HiveQL」を扱う。 目次 【1】Hive 【2】HiveQL (ハイブキューエル) 【3】関連用語 1)パーティション(Partition) 2)メタデータ 3)メタストア 【1…