リネーム処理
いろいろ調べた結果以下のように
- Find latest file pyspark
- Pyspark: get list of files/directories on HDFS path
- How rename S3 files not HDFS in spark scala
# SparkContext
sc = SparkContext()
# Javaのクラス
URI = sc._gateway.jvm.java.net.URI
Path = sc._gateway.jvm.org.apache.hadoop.fs.Path
FileSystem = sc._gateway.jvm.org.apache.hadoop.fs.s3.S3FileSystem
# HDFSのFileSystemを設定
fs = FileSystem.get(URI("s3://{}".format('your.bucket.name')), sc._jsc.hadoopConfiguration())
fs.rename(
Path("s3://your.bucket.name/BEFORE_RENAME.csv"),
Path("s3://your.bucket.name/RENAMED.csv")
)
s3上で使うときにバグを踏む
s3に対してoverwriteを指定して書き込んだ時、ファイルが存在しないときにコードの条件文がおかしいのでExceptionになる?