2021-05-01から1ヶ月間の記事一覧

【AWS】AWS Glue ~ クローリング結果の確認画面 ~

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2019/12/01/003455 で行ったクローラでの動作後に AWS Glue で [Databases]-[Tables] に遷移して クローリング結果を確認する際に表示項目などに不明点があった。 そこで、今回は、そのページおよびその派…

【分散処理】PySpark ~ UDFの各定義方法でのサンプル ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/05/20/195621 で、PySpark の UDF (User Defined Function) 定義方法 について、扱ったが Udacity(ユダシティ)の Freeコース「Spark」で 別の方法を取り扱っていた。 https://www.udacity.com/cour…

【Hive】【SQL】差集合 ~ EXCEPT / MINUS etc ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/02/11/233633 で記載した警告文 ~~~~~~~ unix_timestamp(void) is deprecated. Use current_timestamp instead. ~~~~~~~ に対応し、クエリを修正したのだが、 修正前と修正後の確認で、SQL文「MINUS…

【分散処理】PySpark ~ DataFrame / データ集計編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/01/04/150942 の続き。 今回は、テーブルデータの集計に関して扱う。 目次 【0】agg (集計) 【1】min/max (最小/最大) 【2】count (カウント) 【3】countDistinct (重複カウント) 他にも、sum (…

【分散処理】PySpark ~ DB・テーブル・項目取得編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/01/04/150942 https://dk521123.hatenablog.com/entry/2020/05/18/154829 https://dk521123.hatenablog.com/entry/2020/08/28/183706 の続き。 今回は、テーブルデータを集計するにあたり、 テーブル…

【分散処理】PySpark ~ 出力ファイル / 空ファイル対応, 1ファイルに纏める ~

■ はじめに PySpark でファイルを出力した際に、 サイズが0Byteの空ファイルが出力されたので 対応について調べてみた。 ついでに、ファイルを1つにまとめることも載せておく。 目次 【1】対応方法 【2】出力ファイルが空ファイルになる 1)出力される原…

【分散処理】PySpark ~ UDF の使用上の注意 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/05/20/195621 の続き。 PySpark の UDF (User Defined Function) で ミスった点や注意点などをあげておく。 目次 【1】メモリ消費について 【2】デコレータによる実装方法に関する注意点 【3】引…

【分散処理】PySpark ~ RDD <=> DataFrame の相互変換 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/04/06/001709 より分冊および追記。 RDD <=> DataFrame の相互変換について扱う。 目次 【1】RDD => DataFrame 1)createDataFrame() 2)spark.read.csv() 補足:TSVなど区切り文字を変更して変更…

【トラブル】AWS Glue上で saveAsTextFile() を使ったら エラー「DirectOutputCommitter not found」が発生する

■ はじめに AWS Glue 上で RDD.saveAsTextFile() を使ったら エラー「DirectOutputCommitter not found」が発生したので その際のトラブルシュートをメモする。 目次 【1】エラー内容 【2】発生したコード(一部) 【3】解決案 案1:DirectFileOutputCom…

【トラブル】AWS Glue上で エラー「Dynamic partition strict mode requires ...」が発生する

■ はじめに https://dk521123.hatenablog.com/entry/2021/05/15/130604 を調査している際に、以下「参考サイト」で 『GlueのSparkバージョンが2.3.0になれば』って記載されていた。 で、以下のAWS Glue の公式サイト https://docs.aws.amazon.com/ja_jp/glue…

【AWS】Glue Job から パーティションを更新することを考える

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2021/05/14/095125 の続き。 Glue Job からパーティション更新を行うことを考える。 目次 ■ Job からパーティション更新実装案 ■ 案1)GlueContext クラスを駆使して実装する 方法 1:write_dynamic_fram…

【AWS】Glue からクローリングして外部テーブルを作成する

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2019/12/01/003455 の続き。 今回は、Glue で作成したファイルを外部テーブルにする際に 得た知識・ノウハウをメモしておく。 軽く書くつもりが、結構なボリュームになってしまった、、、 目次 【1】Glue…

【分散処理】PySpark ~ パーティション ~

■ はじめに PySpark に関して、 パーティション (Partition) 付きでファイル出力があったので そのことを含めて、パーティションにまつわるTipsをまとめておく cf. Partition = 仕切り壁、分割、分配 目次 【1】パーティションの基本操作 1)現在のパーテ…

【分散処理】PySpark で 出力ファイル名を変更する

■ はじめに PySpark で ファイルを出力した場合 出力先パスは指定できるが、ファイル名は勝手に決められる。 このファイル名を変更するやり方を調べてみた。 目次 【1】PySpark での リネーム方法 【2】サンプル 【3】補足1:拡張子 CRCファイル につい…

【AWS】Glue から DataCatalogテーブル に対して Spark SQLを実行する

AWS

■ はじめに Glue から DataCatalogテーブル に対して Spark SQLを実行した際に、いくつか注意点があるので メモしておく 目次 【1】使用上の注意 1)Glue Job で Glue DataCatalog を有効にする 2)「select * from [DB].[Table] ...」ではなく「use [DB]…

【トラブル】【AWS】AWS Glue のトラブル ~ job編 [4] ~

AWS

■ はじめに https://dk521123.hatenablog.com/entry/2019/10/25/232155 https://dk521123.hatenablog.com/entry/2020/10/12/152659 https://dk521123.hatenablog.com/entry/2021/02/16/145848 の続き。 今回も、AWS Glue の job で発生したトラブルについて…

【GO】Golang ~ 並列プログラミング(Goルーチン/チャンネル) ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/04/12/145237 https://dk521123.hatenablog.com/entry/2020/04/03/000000 https://dk521123.hatenablog.com/entry/2020/04/05/000000 の続き。 Go言語における気になる文法事項で、以下の通り。 ~~~~…

【GO】Golang ~ 基本編 / インターフェイス ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/04/12/145237 https://dk521123.hatenablog.com/entry/2020/04/03/000000 https://dk521123.hatenablog.com/entry/2020/04/05/000000 https://dk521123.hatenablog.com/entry/2021/05/01/000000 の続…

【GO】Golang ~ 基本編 / 関数 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/04/12/145237 https://dk521123.hatenablog.com/entry/2020/04/03/000000 https://dk521123.hatenablog.com/entry/2020/04/05/000000 の続き。 今回は、「関数」を扱う。 なお、実行環境は、以下のサ…

【GO】Golang ~ 基本編 / ポインタ/アドレス ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/04/12/145237 https://dk521123.hatenablog.com/entry/2020/04/03/000000 https://dk521123.hatenablog.com/entry/2020/04/05/000000 の続き。 他に気になる文法事項で、以下の通り。 ~~~~~~~~~~~~~~…

【GO】Golang ~ 基本編 / 構造体 ~

■ はじめに https://dk521123.hatenablog.com/entry/2020/04/12/145237 https://dk521123.hatenablog.com/entry/2020/04/03/000000 https://dk521123.hatenablog.com/entry/2020/04/05/000000 の続き。 他に気になる文法事項で、以下の通り。 ~~~~~~~~~~~~~~…