テキスト ファイルの読み取りと書き込み

text形式では、テキスト ファイルの各行を、型 StringType の単一の value 列を持つ DataFrame の行として読み取ります。 Azure Databricksユーザーは、通常、ログの解析、さらに処理する前の生データの取り込み、またはファイル コンテンツへの行ごとのアクセスを必要とするワークフローに使用します。 Azure Databricksでは、書き込み圧縮など、Apache Spark でのテキスト ファイルの読み取りと書き込みがサポートされています。

Prerequisites

Azure Databricksでは、テキスト ファイルを使用するために追加の構成は必要ありません。 ただし、テキスト ファイルをストリーミングするには、 自動ローダーが必要です。

オプション

テキスト データ ソースを構成するには、.option().options()DataFrameReaderおよびDataFrameWriterメソッドを使用します。 サポートされているオプションの完全な一覧については、「 DataFrameReader テキスト オプションDataFrameWriter テキスト オプション」を参照してください。

Usage

次の例では 、Wanderbricks データセット を使用して、Spark DataFrame API と SQL を使用したテキスト ファイルの読み取りと書き込みを示します。

SQL を使用してテキスト ファイルを読み取る

テーブルを登録せずにテキスト ファイルにクエリを実行するには、 read_filesを使用します。 外部の場所に対する Unity カタログのアクセス許可は自動的に適用されます。

SELECT * FROM read_files(
  '/Volumes/<catalog>/<schema>/<volume>/review_comments',
  format => 'text'
)

テキスト ファイルの読み取りと書き込み

text形式には、単一のStringType列を持つ DataFrame が必要です。 次の例では、Wanderbricks のレビュー コメントをテキスト ファイルとして書き込み、読み上げます。

Python

from pyspark.sql.functions import col

# Write wanderbricks review comments as a text file
df = spark.read.table("samples.wanderbricks.reviews").select(col("comment").alias("value"))
df.write.format("text").save("/Volumes/<catalog>/<schema>/<volume>/review_comments")

# Read a text file — each line becomes a row in the "value" column
df = spark.read.format("text").load("/Volumes/<catalog>/<schema>/<volume>/review_comments")
display(df)

Scala

import org.apache.spark.sql.functions.col

// Write wanderbricks review comments as a text file
val df = spark.read.table("samples.wanderbricks.reviews").select(col("comment").alias("value"))
df.write.format("text").save("/Volumes/<catalog>/<schema>/<volume>/review_comments")

// Read a text file — each line becomes a row in the "value" column
val text = spark.read.format("text").load("/Volumes/<catalog>/<schema>/<volume>/review_comments")
text.show()

その他のリソース

  • CSV ファイルの読み取りと書き込み: テキスト データが区切り文字または表形式の場合、CSV はスキーマ推論、ヘッダーのサポート、構成可能な区切り記号を使用した構造化解析を提供します。