2019-04-01から1ヶ月間の記事一覧

静かな、静寂な、集中できる作業環境を求めて飽くなき追求 2019年版

私は仕事場でも家でも作業の大部分は、耳栓、イヤホン、ヘッドホンを装着しています。ただし、音楽には全く興味がありません。 イヤホンやヘッドホンで何を聴いているのかと言えば、基本は何も聴いていない「無音(ノイズキャンセリング)」、または波や風や雨…

Glue DynamicFrameでParquet変換におけるDecimalの扱い注意点

金額計算などで利用する固定小数点数 decimal をGlueで扱う場合の注意点を書きます。 GlueのGUIでそのまま設定すると、decimalにはなるのですが、 decimal(10,2) という型に固定されてしまうといった落とし穴もありますので、そのあたりも。 例として以下のC…

Redshift Spectrum 用の外部スキーマ上のテーブル定義を確認する

Redshfit SpectrumでDESCや \d 、SHOW CREATE TABLEなどで確認するクエリのメモ。 SELECT * FROM SVV_EXTERNAL_COLUMNS WHERE schemaname = '外部スキーマ名' AND tablename = 'テーブル名'; +-------------------------------+-------------+--------------…

Pythonスクリプト内からCuratorを使ってElasticsearchのIndexを操作する

Curatorは通常、YAML形式の定義ファイルを使ってコマンドラインから操作することが多いと思いますが、PythonからAPIを経由で操作することも可能です。 基本的な操作のざっくりコードですが例を書きます。 準備 Elasticsearchクライアントの生成 CuratorのImp…

PandasのDataFrameを使ってElasticsearchにデータを投入

PandasのDataFrameをそのままElasticsearchに入れた方法書きます。 元データ準備 データの前処理 Elasticsearchへの接続確認 Elasticsearchへインデックスのスキーマテンプレートの定義 Elasticsearchにデータ投入 確認 参考URL 元データ準備 CSVのデータな…

AWS Glueで変更のあったパーティション配下だけS3を部分更新したい

やりたいこと 準備 テストデータ生成 S3にアップロード ETLジョブ 部分更新のケースを試してみる 課題① ジョブブックマーク有効化時の再実行 課題① の対策 課題 ② DynamicFrameはAppendしかできない 課題②への対策 課題②への対策1 直接パーティションだけを…