2021-01-01から1年間の記事一覧

【Python】 Python ~ 基本編 / astモジュール ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/10/05/105550 で、json化するのに普段は、json.loads()を使っていたのだが astモジュールってのがあるのは知らなかった。 目次 【1】astモジュール 【2】literal_eval() 1)json.loads() との違い…

【Airflow】Apache Airflow ~ あれこれ編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/29/131101 で、AWS 上で、 Apache Airflow(NWAA:Amazon Managed Workflow for Apach Airflow)を 動かした際に、ちらほら抜けている部分が多かったので 基本的なTip集をメモしておく。 目次 【…

【Airflow】MWAA ~ 入門編 ~

■ はじめに MWAA(Amazon Managed Workflow for Apache Airflow) に関して、触れるのでメモ 目次 【1】MWAA(Amazon Managed Workflow for Apache Airflow) 1)メリット 2)デメリット 3)サポートバージョン 【2】技術メモ 1)DAG の作成 2)DAG …

【Airflow】Apache Airflow ~ 基礎知識編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/07/18/004531 https://dk521123.hatenablog.com/entry/2021/07/24/233012 https://dk521123.hatenablog.com/entry/2021/07/28/234319 で、Airflowを予習していたのだが、すっかり忘れてしまった。 と…

【Shell】パイプを使ったループで連想配列に値を設定する

■ はじめに https://dk521123.hatenablog.com/entry/2021/08/13/120956 にあるように、CSVの値を連想配列に詰めて、 マップを作成しようとしたけど、失敗したので、 その解決策について、記しておく。 目次 【1】トラブル 【2】原因 【3】解決案 解決案1…

【Arrow】Apache Arrow / PyArrow ~ 入門編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/18/232556 で、Glue3.0 を扱ったが、その中で、 Apache Arrow (v2.0)を使っているようなので、 どんなものか調べてみた。 目次 【1】Apache Arrow 1)公式サイト 2)特徴 3)サポート言語 【…

【AWS】AWS Glue ~ Glue Version 3.0 ~

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2020/08/19/130118 で、AWS Glue2.0 を扱ったが、 2021/08/19に Glue3.0がリリースされたらしいので、 調べてみた。 まずは、ざっくり知りたいなら、以下の公式サイト参照のこと。 https://aws.amazon.com…

【Hive】【SQL】全く関係ないテーブルを結合することを考える

■ はじめに Hive と Redshift で カウントなどの集計情報するのに 全く関係ないテーブルを結合したので、 そのことについて、メモっておく。 (もっといい方法があれば、随時、更新していく) 目次 【1】結合方法 方法1:JOINを使った結合 【2】サンプル …

【Linux】setコマンド

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/23/223401 で触れた「set -- xxxx」について よく分からなかったので調べてみた。 【0】set コマンド 【1】シェルの設定を確認、変更する 1)エラーがあった場合、そこで打ち止める 【2】現在…

【Linux】リダイレクト・パイプライン

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/11/000000 https://dk521123.hatenablog.com/entry/2021/09/12/000000 https://dk521123.hatenablog.com/entry/2021/09/23/223401 で、パイプラインに関して、少し触れたが、 今回は、掘り下げて…

【Linux】shoptコマンド

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/23/223401 で触れた「shopt -s lastpipe」について よく分からなかったので調べてみた。 目次 【1】shoptコマンド 【2】構文 【3】主なオプション 【1】shoptコマンド * bashのシェルオプショ…

【Shell】シェル ~ 基本編 / 連想配列 - ディクショナリ ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/08/11/000000 の続き。 今回は、連想配列を扱う。 目次 【1】連想配列 - ディクショナリ 【2】構文 1)定義方法 2)キーが存在しているか確認 【3】サンプル 例1:Hello world 例2:キーの存…

【SQL】Window関数 ~ LAG / LEAD ~

SQL

■ はじめに SQL の Window関数 (分析関数) について扱う。 PostgeSQLだけでなく、Redshiftでも使える。 今回は、その中で、 LAG / LEAD に絞る。 なお、ROW_NUMBER / RANK については、 以前やった以下の関連記事を参照のこと。 ROW_NUMBER / RANK + PARTITI…

【AWS】Amazon Redshift ~ 文字列結合 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/08/202004 の続き。 Redshiftは、PostgreSQL互換と言われているが ちょこちょこ異なっていること見つかる今日この頃。 今回は、文字列結合について扱い、 PostgreSQLとの差異についても扱う。 目…

【AWS】Amazon Redshift ~ キャスト ~

■ はじめに 小ネタ。 Amazon Redshiftを使っていて、 キャストの仕方が色々あるようなので、纏めてみた。 特に、「2)「::」 を使用したキャスト」が知らなかったので、 自戒の意味を込めて、記しておく。 目次 【0】公式サイト 【1】Amazon Redshiftでの…

【PostgreSQL】文字列関数 ~ split_part ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/08/21/000000 の続き。 今回は、split_part について、扱う。 目次 【1】split_part 【2】構文 【3】サンプル 例1:Hello world 【1】split_part * 指定した区切り文字「delimiter」で分割する …

【Linux】cat ~ ファイルの結合 / 閲覧 ~

■ はじめに ファイルを結合する必要がでてきたので、 cat で簡単にできたので、メモしておく。 目次 【1】cat 【2】使い方 1)閲覧 2)ファイル結合 3)空ファイルを作成する 【3】サンプル 例1:ファイル結合 例2:指定フォルダのテキストを全て結…

【AWS】Amazon Redshift ~ VACUUM ~

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/04/172021 において 「3)インターリーブソートキー(Interleaved SortKey)」 の「デメリット」より ~~~~~~~~~~~ * インターリーブソートキーの性能を維持するためには 定期的に VACUUM REINDEX…

【AWS】Amazon Redshift ~ DistStyle / DistKey / SortKey ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/08/29/000000 で、PostgreSQL と Amazon Redshift との違いに触れたが 「【0】サンプルテーブル」をPostgreSQLで実行したら いくつもエラーになった。 その中で、「distkey(listid)」「compound sor…

【トラブル】【AWS】Hiveテーブルデータ を Redshift に移行時のCOPYコマンドエラー

■ はじめに https://dk521123.hatenablog.com/entry/2021/09/01/200818 において、Hiveテーブルデータ を Redshift に移行する際に COPYコマンドにおいていくつかトラブルが発生したので まとめておく。 目次 【1】COPYコマンド時にエラー「Forbidden: HTTP…

【Shell】シェルで split するには

■ はじめに シェルで、split する必要がでてきたので、メモしておく。 目次 【1】シェルで split するには 【2】サンプル 例1:カンマ区切り 例2:ドット区切り(IPアドレス) 例3:export XXX1=YYY1;export XXX2=YYY2;... 【3】補足:配列の長さを求…

【AWS】Hiveテーブルデータ を Redshift に移行するには

■ はじめに Hiveテーブルデータ を Redshift に移行することをやったので ざっくり方針などをメモ。 目次 【1】Hiveテーブルデータ を Redshift に移行するには 1)移行手順案 2)トラブルについて 【2】サンプル 1)HiveのExternal TableでS3上に保存…

【AWS】Amazon Redshift ~ 自動採番 / IDENTITY ~

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2021/08/29/000000 で、PostgreSQL において 自動採番IDしてくれる「SERIAL / BIGSERIAL / SMALLSERIAL」(※)は、 Redshiftでは対応していないと記載した。 そこで、Redshift は、自動採番をどう対応する…

【トラブル】【AWS】AWS Glue Job で DB timeout が発生する

AWS

■ はじめに AWS Glueで DB にアクセスした時にタイムアウトした際の トラブルについて、まとめる 目次 【1】概要 【2】動作環境 【3】エラー内容 【4】原因 【5】解決案 【1】概要 AWS Glue Job の 開始して、DB(今回は、Redshift)にアクセスしたら …

【AWS】Amazon Redshift ~ 他DB・サービスとの違い ~

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2020/02/22/002139 が長くなったので分冊。 また、インデックスがサポートされていなかったという基本的なことも 分からなかった自分への戒め的にメモしておく。 目次 【1】一般的なDB との違い メモ:イ…

【Shell】シェル ~ 基本編・eval ~

■ サンプル シェルで、変数名に val1,val2, ... って番号が振ってあって その変数をいちいち参照したくないからって探してたら eval(イーバル)があったので、メモしておく 目次 【1】eval コマンド 【2】使用上の注意 【3】サンプル 例1:Hello world …

【SQL】SQLで変化(増加/変化なし/減少)について考える

SQL

■ はじめに SQLで変化(増加/変化なし/減少)について考える 目次 【1】ポイント 1)過去データと比較するために自己結合する 2)データ仕様上、歯抜けがあるかどうかを確認 【2】Oracle 11g 例1:年間売上の変化(増加/変化なし/減少) 例2:年間売上…

【PostgreSQL】文字列関数 ~ string_agg ~

■ はじめに 小ネタ。 RedshiftのLISTAGG 関数を調べている際に PostgreSQLのstring_agg が見つかったので メモっておく 目次 【1】string_agg 補足:Redshift / LISTAGG 【2】構文 【3】サンプル 例1:Hello world 【1】string_agg * グルーピングした…

【Shell】【PostgreSQL】シェルでSQL結果を受け取る ~ エラーハンドリング編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/08/16/231459 の続き。 先日行ったシェルではエラーハンドリングまで考慮されていなかったので EMR上でStepごとにシェル実行した際に、そのStep内でエラーが発生しても、 途中でキャンセルにならずに…

【トラブル】【AWS】Amazon EMR の クローン 時の トラブル

■ はじめに https://dk521123.hatenablog.com/entry/2020/08/05/144724 にEMRのトラブルを纏めていたが、 また違うトラブルが発生したので、メモしておく トラブルってゆーかー、そういう設定してるから起こったことだが。 目次 【1】EMR起動後にエラー「Eb…