glueで開発エンドポイントを使用してdynamic dtaframe触って見たときの覚書

https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-dynamic-frame.html#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-select_fields

# とりあえず必要そうなものと使いそうなものをimport
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
import datetime
import pprint

# サンプルソースから引っ張り、scはspark contextの実態の予定だったが実際はインスタンス化できず
# databaseurlはjdbc接続形式

glueContext = GlueContext(sc)
dynamicframe = glueContext.create_dynamic_frame.from_options(
    connection_type='mysql',
    connection_options={
    'url': database_url,
    'user': user_name,
    'password': password,
    'dbtable': table_name
})

# dynamic frameで実行(とりあえずこれで見られる)
dynamicframe.select_fields(['hoge', 'foo']).show()

# ざっくり全件みたいなら
dynamicframe.show()

# 件数知りたいなら
dynamicframe.count()

# 列を追加したい場合は一度sparkd dataframeに変換する


hoge = dynamicframe.toDF()

# 関数を使って挿入

hoge = hoge.withColumn('hoge_id', lit(999))

# dynamic frameに戻す
dynamicframe = dynamicframe.fromDF(hoge,glueContext ,dynamicframe)

# あとはs3に書いたりする