メインコンテンツまでスキップ

Google Drive コネクタ リファレンス

このページには、 Databricks Lakeflow Connect の Google Drive コネクタのリファレンスが含まれています。

gdrive_optionsパラメーター

パイプライン定義の各テーブルのconnector_options.gdrive_optionsブロック内で、これらのオプションを設定します。

パラメーター

Type

必須

説明

entity_type

String

はい

取り込み対象のエンティティタイプです。サポートされている値:

  • FILE:ファイルコンテンツとメタデータの取り込み
  • FILE_METADATAメタデータのみを取り込み、ファイルコンテンツはダウンロードしません。

url

String

はい

取り込み元の Google ドライブ フォルダーまたは共有ドライブの URL。例:

  • https://drive.google.com/drive/folders/<folder_id>
  • 共有ドライブのURL

file_ingestion_options

オブジェクト

はい

ファイル形式と取り込み動作を制御します。file_ingestion_optionsパラメーターを参照してください。

file_ingestion_optionsパラメーター

これらのオプションをgdrive_options.file_ingestion_options内で設定してください。

パラメーター

Type

必須

説明

format

String

はい

取り込むファイル形式です。サポートされている値: BINARYFILECSVJSONXMLEXCELPARQUETAVROORCBINARYFILE を非構造化取り込み(PDF、Office ファイル、画像)に使用します。ファイルの内容を行として解析するには、構造化された形式を使用します。

file_filters

オブジェクトの配列

No

取り込むファイルを制限するフィルター各フィルターオブジェクトは次のいずれかのキーを含めることができます。

  • path_filter (文字列):ファイルパスに一致するglobパターン。Spark パスglobフィルターに基づいて。
  • modified_before (文字列):YYYY-MM-DDTHH:mm:ss形式のタイムスタンプです。この時刻より前に変更されたファイルのみが取り込まれます。
  • modified_after (文字列):YYYY-MM-DDTHH:mm:ss形式のタイムスタンプです。この時刻以降に変更されたファイルのみ取り込まれます。

schema_evolution_mode

String

No

受信ファイルにおける新規列の処理方法を制御します。モードはAuto Loaderのスキーマ進化モードと一致します。サポートされている値: ADD_NEW_COLUMNS_WITH_TYPE_WIDENING (デフォルト)、 ADD_NEW_COLUMNSRESCUEFAIL_ON_NEW_COLUMNSNONE

schema_hints

String

No

推論された列タイプを上書きします。column_name TYPEのペアをカンマ区切りで指定してください。たとえば、order_id INT, amount DOUBLEのように指定します。スキーマヒントを使用してスキーマ推論をオーバーライドするを参照してください。

format_options

オブジェクト

No

形式固有の解析オプションキーは標準的なAuto Loader形式のオプション名です。「形式オプション」を参照してください。

table_configurationパラメーター

パイプライン定義の各テーブルのtable_configurationブロック内で、これらのオプションを設定します。table_configurationconnector_options の兄弟であり、入れ子ではありません。

パラメーター

Type

必須

説明

storage_mode

String

No

宛先テーブルのストレージモード。サポートされている値:

  • SCD_TYPE_1 (BINARYFILEのデフォルト):ファイルが変更または削除されたときに、レコードを上書きします。
  • APPEND_ONLY (構造化形式のデフォルト):新しいファイルまたは更新されたファイルから新しい行を追加します。

これらはデフォルトであり、サポートされている唯一の値であるため、storage_mode を明示的に設定することはオプションです。scd_typeフィールドはエラーをスローするため、使用しないでください。

形式オプション

format_optionsブロックは、標準的なAuto Loaderの形式オプションキーを受け入れ、ファイル形式別に以下に整理されています。詳細については、「Auto Loader」を参照してください。

JSON

キー

説明

allowBackslashEscapingAnyCharacter

任意の文字のバックスラッシュエスケープを許可します。

allowComments

JSONコンテンツ内でJavaおよびC++スタイルのコメントを許可します。

allowNonNumericNumbers

NaN および Infinity を有効な浮動小数点数値として許可します。

allowNumericLeadingZeros

整数値で先頭のゼロを許容します。

allowSingleQuotes

二重引用符に加えて、一重引用符を文字列の区切り文字として許可します。

allowUnquotedControlChars

JSON文字列内で引用符で囲まれていない制御文字を許可します。

allowUnquotedFieldNames

引用符で囲まれていないフィールド名を許可します。

badRecordsPath

パイプラインの失敗を防ぐため、破損または解析不能なレコードを保存するパス。

charset / encoding

ファイルの文字エンコーディング(例:UTF-8ISO-8859-1)です。

dateFormat

日付文字列を解析するための書式(例: yyyy-MM-dd)。

dropFieldIfAllNull

スキーマ推論中に、すべての値がnullまたは空である列を無視します。

inferTimestamp

タイムスタンプパターンに一致する文字列を TimestampType として推測します。

lineSep

行区切り文字または文字列。

locale

日付と数値の解析用ロケール(たとえば、en-US)。

mode

不正な形式のレコードの動作:PERMISSIVE(デフォルト)、DROPMALFORMED、またはFAILFAST

multiLine

複数行にまたがるレコードを解析します。

prefersDecimal

可能な場合は、FloatTypeまたはDoubleTypeではなく、DecimalTypeとして推論されます。

primitivesAsString

すべてのプリミティブ値をStringTypeとして推論します。

readerCaseSensitive

スキーマに対する列名の大文字と小文字を区別した照合を有効にします。

timestampFormat

タイムスタンプ文字列を解析するためのパターン(例:yyyy-MM-dd'T'HH:mm:ss)。

timeZone

タイムスタンプの解析用のタイムゾーン(たとえば、UTCAmerica/New_York)。

CSV

上記のすべてのJSONオプションに加え、以下のCSV固有のオプションもサポートしています。

キー

説明

charToEscapeQuoteEscaping

引用符で囲まれたフィールド内で、引用符の前に使用されるエスケープ文字。

comment

行をコメントとしてマークする文字;この文字で始まる行はスキップされます。

delimiter / sep

列の区切り文字(デフォルト: ,)。

emptyValue

書き込み時に空の値として使用する文字列。

enforceSchema

宣言されたスキーマをCSVデータに適用し、ヘッダー名を無視します。

escape

エスケープ文字(デフォルト:「\」)。

header

最初の行に列名が含まれるかどうか(デフォルト:false)。

ignoreLeadingWhiteSpace

値の先頭の空白を除去します。

ignoreTrailingWhiteSpace

値の末尾の空白を削除します。

maxCharsPerColumn

列値ごとに許可される最大文字数。

maxColumns

レコード内で許可されている列の最大数。

mergeSchema

複数のCSVファイルにまたがるスキーマをマージします。

nanValue

NaN」の文字列形式。

negativeInf

負の無限大の文字列表現。

nullValue

null値を表す文字列。

parserCaseSensitive

ヘッダー名とスキーマのフィールド名との間で、大文字と小文字を区別した一致を有効にします。

positiveInf

正の無限大の文字列表現。

preferDate

日付形式の文字列を、TimestampTypeではなくDateTypeとして推測します。

quote

区切り文字を含むフィールド値を囲むのに使用される引用符 (デフォルト: ")。

skipRows

ファイルの冒頭でヘッダーまたはデータより前にスキップする行数。

unescapedQuoteHandling

引用符付きフィールド内のエスケープされていない引用符の処理方法。

XML

キー

説明

arrayElementName

書き込み時に各配列項目をラップするXML要素名

attributePrefix

XML属性名を要素名と区別するためのプレフィックス(デフォルト:_)。

compression

読み取り用の圧縮コーデック(たとえば、gzipbzip2)。

declaration

書き込み時に先頭に追加するXML宣言文字列。

encoding

XMLファイルの文字エンコーディング。

excludeAttribute

XML要素の属性を構文解析から除外します。

ignoreSurroundingSpaces

値から周囲の空白を無視します。

ignoreNamespace

解析時にXMLの名前空間プレフィックスを無視します。

locale

日付と数値を解析するためのロケール。

mode

不正な形式のレコードの動作: PERMISSIVEDROPMALFORMED、またはFAILFASTのいずれか。

nullValue

null値を表す文字列。

rootTag

ルート要素タグ名。

rowTag

各行を識別する XML 要素タグ(必須)。

rowValidationXSDPath

各行要素の検証に使用する XSD スキーマファイルへのパス。

samplingRatio

スキーマ推論用にサンプリングされた行の割合(デフォルト:1.0)。

timestampFormat

タイムスタンプ文字列を解析するための形式。

timestampNTZFormat

タイムゾーンなしのタイムスタンプ文字列を解析するためのパターン。

timeZone

タイムスタンプをパースするためのタイムゾーン。

validateName

XML 要素名が XML 仕様に準拠していることを検証します。

valueTag

属性も持つ要素内のテキスト値に使用されるタグ名(デフォルト: _VALUE)。

Parquet

キー

説明

datetimeRebaseMode

ユリウス暦形式で記述された日付とタイムスタンプの処理: EXCEPTIONCORRECTED、またはLEGACY

int96RebaseMode

ユリウス暦形式のINT96タイムスタンプの処理:EXCEPTIONCORRECTED、およびLEGACY

mergeSchema

複数のParquetファイルにまたがるスキーマをマージします。

Avro

キー

説明

avroSchema

JSON文字列形式のAvroスキーマ。読み込み時に特定のスキーマを強制適用するために使用します。

datetimeRebaseMode

ユリウス暦形式で記述された日付とタイムスタンプの処理: EXCEPTIONCORRECTED、またはLEGACY

mergeSchema

複数のAvroファイルにまたがるスキーマをマージします。

取り込み済みデータ形式

宛先テーブルのスキーマは、構成するentity_typeおよびformatによって異なります。

BINARYFILE エンティティタイプ (ファイル)

entity_typeFILEformatBINARYFILEの場合、取り込まれた各ファイルは以下の列を持つ1行になります。

フィールド

Type

説明

file_id

String

Google ドライブのファイルの識別子です。

file_metadata

Struct

汎用的なファイルメタデータが含まれています。

  • namestring): Google Drive に表示されるファイル名です。
  • size_in_bytes (bigint):ファイルのサイズです。
  • created_timestamptimestamp):Google ドライブにファイルが作成されたタイムスタンプ。
  • last_modified_timestamptimestamp):Google Drive でファイルが最後に変更されたタイムスタンプです。
  • created_by_email (string):ファイルを作成したユーザーのEメールアドレスです。利用できない場合、ヌルである場合があります。
  • last_modified_by_email (string): ファイルを変更した最後のユーザーのEメールアドレスです。利用できない場合、ヌルである場合があります。

_file_metadata

Struct

ファイルの Google Drive 固有のメタデータ:

  • drive_idstring):共有ドライブの Google ドライブ識別子です。マイドライブ内のファイルはヌルです。
  • file_folder_pathstring):Google Drive 上のファイルのパスです。
  • mime_typestring): ファイルのMIMEタイプです。
  • web_urlstring): Google ドライブ内のファイルへのリンク。

content

Struct

ファイルの内容が含まれています。

_metadata

Struct

Databricksによって取り込み中に追加された標準ファイルメタデータ。パスと最終更新時間などのソースファイル情報が含まれます。

構造化されたエンティティタイプ (構造化された形式のファイル)

entity_typeFILEであり、formatが構造化されたフォーマット(CSVJSONXMLEXCELPARQUETAVRO、またはORC)である場合、宛先テーブルスキーマはソースファイルのスキーマと一致します。列は、schema_evolution_mode および schema_hints の設定に基づいて、ファイルの内容から推測されます。

「FILE_METADATA エンティティタイプ」

entity_typeFILE_METADATAの場合、ファイルコンテンツはダウンロードされません。宛先テーブルには、上記の file_metadata および _file_metadata 構造体からのメタデータ列と file_id のみが含まれています。