なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

Python

AWS LambdaでLayer機能を使う

Layers AWSのドキュメント AWS Lambda レイヤー - AWS Lambda AWSのLayersを使うと、Pythonの依存ライブラリなどを設定し共通ライブラリとして使える。(AWS Lambdaのソースコード容量制限は厳しいので、これを使うのが正しいだろう) AWS Lambdaのデプロイ…

PySparkの実行でImportError: No module namedが出たとき

ImportError: No module named エラー EMRの実環境でPySparkでクエリやUDFを実行させていたら以下のようなエラーが発生した。 ImportError: No module named 'foo' どうやら各ノードにPythonのモジュールが分散されていない(?)ようだ。 対処 StackOverflo…

PySparkのハマり(メモ)

pipで取得したpysparkを起動させると、以下のようなエラーが出ることがある。 Sparkのバージョンは2.3.1。 (venv) C:\Users\hiroyuki.nagata\PycharmProjects\vjsk-etl-flow>pyspark Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.15…

PySparkでいろいろ調査したのでメモ書き

PySparkにはいろいろなファイルロード/セーブ方法がある。 メモ ローカル環境でShift-JISファイルを読み込んでUTF-8で出力 順当にリストをparallelizeしてRDDからDataframe化 #!/usr/bin/env python # -*- coding: utf-8 -*- from pyspark.sql import SparkS…

AWS GlueでSparkのDataframeを使う

AWS GlueでSparkのDataframeを使う Glue上のクラス構造 DynamicFrameからDataFrameへの変換 DataFrameからDynamicFrameへの変換 DataFrameを使った処理など 連番作成 カラムの追加、リネーム AWS GlueでSparkのDataframeを使う Glue上のクラス構造 docs.aws.…

AWS Glue上でboto3を使ってみる

現象 AWS Glue上でboto3を呼ぼうとしたのですが、あるはずのメソッドを呼ぶとエラーで落ちた。 対策 ここを読みましたLambda pythonから S3 にアクセスできない? 試しに、Lambda Functionパッケージ内から boto3とbotocoreを 削除する。削除した状態で Lmab…

PythonにおけるDBドライバごとのプレースホルダの違いなど

最近少しPythonなどに触れている。そこでぶつかった話 psycopg2 Postgresql用のPythonのDB用ドライバ実装、psycopg2を使うと以下のような見た目のコードになる Basic module usage — Psycopg 2.6 documentation >>> cur.execute( ... """INSERT INTO some_ta…