LoginSignup
0
0

More than 1 year has passed since last update.

Databricksでファイル名を取り込む方法

Last updated at Posted at 2022-09-21

はじめに

Databricksでデータを取り込む際に、取り込み元ファイルの情報も取得する方法をまとめます。

非Unity Catalog環境

input_file_name()を使用します。

pyspark.sql.functions.input_file_name

pyspark

from  pyspark.sql.functions import input_file_name,current_timestamp
df = (spark
        .read
        .format("csv")
        .load(<ファイルパス>)
        .select("*"
            ,current_timestamp().alias("_ingest_timestamp")
            ,input_file_name().alias("_file_name")
        )
     )

こんな感じでとれます。

image.png

Unity Catalog環境下

以下のようにサポートされない旨が表示されます。

image.png

ファイル メタデータ列 という形で取得が可能です。

例:

pyspark

df = (spark
        .read
        .format("csv")
        .load(<ファイルパス>)
        .select("*","_metadata")
     )

こんな感じでとれます。

image.png

追記

シングルユーザーモードであればUnity Catalog 環境でもinput_file_nameが動作しました。
autoloaderといい、pythonの関数はけっこうこういうのが多いみたいです。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0