ファイルからデータフレームへのデータの読み込み
メニューを表示するにはスワイプしてください
spark.read オブジェクトは、外部データを Spark DataFrame に読み込むためのエントリーポイント。CSV、JSON、Parquet、Delta など、さまざまなファイル形式をサポートし、Spark がファイルをどのように解釈するかを定義可能。
セクション2で、CSVファイルをDatabricks環境にアップロード済み。ここでは、そのファイルをストレージから取得し、Pythonを使ってクラスタのメモリにDataFrameとして取り込む方法を解説。これは、ほぼすべてのデータエンジニアリングパイプラインの最初のステップ。
spark.read の構文
ファイルを読み込むには、特定のコマンドチェーンを使用。基本構造は次の通り。
df = spark.read.format("csv").option("header", "true").load("path/to/file")
- format: Spark にファイルの種類(csv、json、parquet)を指定
- option("header", "true"): ファイルの最初の行をカラム名として使用する設定
- load: Databricks 内のファイルの具体的な場所
スキーマの自動推定
デフォルトでは、Spark は CSV 内のすべてのカラムを文字列(テキスト)として扱います。データをより有用にするために、追加のオプション .option("inferSchema", "true") を指定します。これを有効にすると、Spark がデータを簡単に確認し、どのカラムが整数、少数、またはブール値かを自動的に判別します。これにより、データ型を手動で定義する手間が省けます。
ファイルパスの特定
ファイルを読み込むには、そのパスが必要です。カタログまたはワークスペースタブでアップロードしたファイルを見つけ、ファイルの横にある三点リーダー(省略記号)をクリックし、「パスをコピー」を選択します。最新のDatabricksでは、第2.6章で行ったようにデータ取り込みUIを使ってファイルをアップロードした場合、データはすでにテーブルとして保存されており、次のように読み込むことができます:
df = spark.read.table("main.default.sample_sales_records")
ただし、ボリュームから生データファイルを直接読み込む場合は、ファイルパスを使用します:
df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my_volume/sales_data.csv")
読み込みの確認
読み込みコマンドを実行した後は、データを確認することがベストプラクティスです。読み込みコマンドの直後に display(df) を実行してください。
これにより、データがクラスターのメモリに正しく読み込まれていること、ヘッダーが正しい位置にあること、データ型が正確であることを確認できます。この段階では、データは一時オブジェクト df に格納されており、変換処理を始める準備が整っています。
1. .option("inferSchema", "true") 設定を CSV 読み込み時に使用する理由は何ですか?
2. カタログ内の既存テーブルをPythonのDataFrameとして読み込むために使用するコマンドはどれですか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください