Skip to main content
Version: 1.3.5

SparkFilesystemDatasource

Signature

class great_expectations.datasource.fluent.SparkFilesystemDatasource(&42;, type: Literal['spark_filesystem'] = 'spark_filesystem', name: str, id: Optional[uuid.UUID] = None, assets: List[Union[great_expectations.datasource.fluent.data_asset.path.spark.csv_asset.CSVAsset, great_expectations.datasource.fluent.data_asset.path.spark.csv_asset.DirectoryCSVAsset, great_expectations.datasource.fluent.data_asset.path.spark.parquet_asset.ParquetAsset, great_expectations.datasource.fluent.data_asset.path.spark.parquet_asset.DirectoryParquetAsset, great_expectations.datasource.fluent.data_asset.path.spark.orc_asset.ORCAsset, great_expectations.datasource.fluent.data_asset.path.spark.orc_asset.DirectoryORCAsset, great_expectations.datasource.fluent.data_asset.path.spark.json_asset.JSONAsset, great_expectations.datasource.fluent.data_asset.path.spark.json_asset.DirectoryJSONAsset, great_expectations.datasource.fluent.data_asset.path.spark.text_asset.TextAsset, great_expectations.datasource.fluent.data_asset.path.spark.text_asset.DirectoryTextAsset, great_expectations.datasource.fluent.data_asset.path.spark.delta_asset.DeltaAsset, great_expectations.datasource.fluent.data_asset.path.spark.delta_asset.DirectoryDeltaAsset]] = [], spark_config: Optional[Dict[pydantic.v1.types.StrictStr, Union[pydantic.v1.types.StrictStr, pydantic.v1.types.StrictInt, pydantic.v1.types.StrictFloat, pydantic.v1.types.StrictBool]]] = None, force_reuse_spark_context: bool = True, persist: bool = True, base_directory: pathlib.Path, data_context_root_directory: Optional[pathlib.Path] = None)

SparkFilesystemDatasource is a subclass of SparkDatasource which connects to the filesystem.

Methods

Signature

add_csv_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa8bf9e0> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa8bfaa0> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa8bfbf0> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa8bfda0> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa8bfe60> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, schema: typing.Optional[typing.Union[great_expectations.datasource.fluent.serializable_types.pyspark.SerializableStructType, str]] = None, sep: typing.Optional[str] = None, encoding: typing.Optional[str] = None, quote: typing.Optional[str] = None, escape: typing.Optional[str] = None, comment: typing.Optional[str] = None, header: typing.Optional[typing.Union[bool, str]] = None, inferSchema: typing.Optional[typing.Union[bool, str]] = None, ignoreLeadingWhiteSpace: typing.Optional[typing.Union[bool, str]] = None, ignoreTrailingWhiteSpace: typing.Optional[typing.Union[bool, str]] = None, nullValue: typing.Optional[str] = None, nanValue: typing.Optional[str] = None, positiveInf: typing.Optional[str] = None, negativeInf: typing.Optional[str] = None, dateFormat: typing.Optional[str] = None, timestampFormat: typing.Optional[str] = None, maxColumns: typing.Optional[typing.Union[int, str]] = None, maxCharsPerColumn: typing.Optional[typing.Union[int, str]] = None, maxMalformedLogPerPartition: typing.Optional[typing.Union[int, str]] = None, mode: typing.Optional[typing.Literal['PERMISSIVE', 'DROPMALFORMED', 'FAILFAST']] = None, columnNameOfCorruptRecord: typing.Optional[str] = None, multiLine: typing.Optional[typing.Union[bool, str]] = None, charToEscapeQuoteEscaping: typing.Optional[str] = None, samplingRatio: typing.Optional[typing.Union[float, str]] = None, enforceSchema: typing.Optional[typing.Union[bool, str]] = None, emptyValue: typing.Optional[str] = None, locale: typing.Optional[str] = None, lineSep: typing.Optional[str] = None, unescapedQuoteHandling: typing.Optional[typing.Literal['STOP_AT_CLOSING_QUOTE', 'BACK_TO_DELIMITER', 'STOP_AT_DELIMITER', 'SKIP_VALUE', 'RAISE_ERROR']] = None) → pydantic.BaseModel

Add a csv asset to the datasource.

Signature

add_delta_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa90f950> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa90fa10> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa90fb60> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa90fd10> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa90fdd0> = None, timestampAsOf: typing.Optional[str] = None, versionAsOf: typing.Optional[str] = None) → pydantic.BaseModel

Add a delta asset to the datasource.

Signature

add_directory_csv_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa90e150> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa90e210> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa90e360> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa90e510> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa90e5d0> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, schema: typing.Optional[typing.Union[great_expectations.datasource.fluent.serializable_types.pyspark.SerializableStructType, str]] = None, sep: typing.Optional[str] = None, encoding: typing.Optional[str] = None, quote: typing.Optional[str] = None, escape: typing.Optional[str] = None, comment: typing.Optional[str] = None, header: typing.Optional[typing.Union[bool, str]] = None, inferSchema: typing.Optional[typing.Union[bool, str]] = None, ignoreLeadingWhiteSpace: typing.Optional[typing.Union[bool, str]] = None, ignoreTrailingWhiteSpace: typing.Optional[typing.Union[bool, str]] = None, nullValue: typing.Optional[str] = None, nanValue: typing.Optional[str] = None, positiveInf: typing.Optional[str] = None, negativeInf: typing.Optional[str] = None, dateFormat: typing.Optional[str] = None, timestampFormat: typing.Optional[str] = None, maxColumns: typing.Optional[typing.Union[int, str]] = None, maxCharsPerColumn: typing.Optional[typing.Union[int, str]] = None, maxMalformedLogPerPartition: typing.Optional[typing.Union[int, str]] = None, mode: typing.Optional[typing.Literal['PERMISSIVE', 'DROPMALFORMED', 'FAILFAST']] = None, columnNameOfCorruptRecord: typing.Optional[str] = None, multiLine: typing.Optional[typing.Union[bool, str]] = None, charToEscapeQuoteEscaping: typing.Optional[str] = None, samplingRatio: typing.Optional[typing.Union[float, str]] = None, enforceSchema: typing.Optional[typing.Union[bool, str]] = None, emptyValue: typing.Optional[str] = None, locale: typing.Optional[str] = None, lineSep: typing.Optional[str] = None, unescapedQuoteHandling: typing.Optional[typing.Literal['STOP_AT_CLOSING_QUOTE', 'BACK_TO_DELIMITER', 'STOP_AT_DELIMITER', 'SKIP_VALUE', 'RAISE_ERROR']] = None, data_directory: pathlib.Path) → pydantic.BaseModel

Add a directory_csv asset to the datasource.

Signature

add_directory_delta_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa72cc20> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa72cce0> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa72ce30> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa72cfe0> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa72d0a0> = None, timestampAsOf: typing.Optional[str] = None, versionAsOf: typing.Optional[str] = None, data_directory: pathlib.Path) → pydantic.BaseModel

Add a directory_delta asset to the datasource.

Signature

add_directory_json_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa746b70> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa746c30> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa746d80> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa746f30> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa746ff0> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, schema: typing.Optional[typing.Union[great_expectations.datasource.fluent.serializable_types.pyspark.SerializableStructType, str]] = None, primitivesAsString: typing.Optional[typing.Union[bool, str]] = None, prefersDecimal: typing.Optional[typing.Union[bool, str]] = None, allowComments: typing.Optional[typing.Union[bool, str]] = None, allowUnquotedFieldNames: typing.Optional[typing.Union[bool, str]] = None, allowSingleQuotes: typing.Optional[typing.Union[bool, str]] = None, allowNumericLeadingZero: typing.Optional[typing.Union[bool, str]] = None, allowBackslashEscapingAnyCharacter: typing.Optional[typing.Union[bool, str]] = None, mode: typing.Optional[typing.Literal['PERMISSIVE', 'DROPMALFORMED', 'FAILFAST']] = None, columnNameOfCorruptRecord: typing.Optional[str] = None, dateFormat: typing.Optional[str] = None, timestampFormat: typing.Optional[str] = None, multiLine: typing.Optional[typing.Union[bool, str]] = None, allowUnquotedControlChars: typing.Optional[typing.Union[bool, str]] = None, lineSep: typing.Optional[str] = None, samplingRatio: typing.Optional[typing.Union[float, str]] = None, dropFieldIfAllNull: typing.Optional[typing.Union[bool, str]] = None, encoding: typing.Optional[str] = None, locale: typing.Optional[str] = None, allowNonNumericNumbers: typing.Optional[typing.Union[bool, str]] = None, data_directory: pathlib.Path) → pydantic.BaseModel

Add a directory_json asset to the datasource.

Signature

add_directory_orc_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa76dfa0> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa76e060> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa76dc70> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa76df40> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa76dfd0> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, mergeSchema: typing.Optional[typing.Union[bool, str]] = False, data_directory: pathlib.Path) → pydantic.BaseModel

Add a directory_orc asset to the datasource.

Signature

add_directory_parquet_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa76ed80> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa76ee70> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa76ee40> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa76edb0> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa76e780> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, mergeSchema: typing.Optional[typing.Union[bool, str]] = None, datetimeRebaseMode: typing.Optional[typing.Literal['EXCEPTION', 'CORRECTED', 'LEGACY']] = None, int96RebaseMode: typing.Optional[typing.Literal['EXCEPTION', 'CORRECTED', 'LEGACY']] = None, data_directory: pathlib.Path) → pydantic.BaseModel

Add a directory_parquet asset to the datasource.

Signature

add_directory_text_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa76fc20> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa76fc80> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa76fb60> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa76faa0> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa76fc50> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, wholetext: bool = False, lineSep: typing.Optional[str] = None, data_directory: pathlib.Path) → pydantic.BaseModel

Add a directory_text asset to the datasource.

Signature

add_json_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa744410> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa7446e0> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa744830> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa7449e0> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa744aa0> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, schema: typing.Optional[typing.Union[great_expectations.datasource.fluent.serializable_types.pyspark.SerializableStructType, str]] = None, primitivesAsString: typing.Optional[typing.Union[bool, str]] = None, prefersDecimal: typing.Optional[typing.Union[bool, str]] = None, allowComments: typing.Optional[typing.Union[bool, str]] = None, allowUnquotedFieldNames: typing.Optional[typing.Union[bool, str]] = None, allowSingleQuotes: typing.Optional[typing.Union[bool, str]] = None, allowNumericLeadingZero: typing.Optional[typing.Union[bool, str]] = None, allowBackslashEscapingAnyCharacter: typing.Optional[typing.Union[bool, str]] = None, mode: typing.Optional[typing.Literal['PERMISSIVE', 'DROPMALFORMED', 'FAILFAST']] = None, columnNameOfCorruptRecord: typing.Optional[str] = None, dateFormat: typing.Optional[str] = None, timestampFormat: typing.Optional[str] = None, multiLine: typing.Optional[typing.Union[bool, str]] = None, allowUnquotedControlChars: typing.Optional[typing.Union[bool, str]] = None, lineSep: typing.Optional[str] = None, samplingRatio: typing.Optional[typing.Union[float, str]] = None, dropFieldIfAllNull: typing.Optional[typing.Union[bool, str]] = None, encoding: typing.Optional[str] = None, locale: typing.Optional[str] = None, allowNonNumericNumbers: typing.Optional[typing.Union[bool, str]] = None) → pydantic.BaseModel

Add a json asset to the datasource.

Signature

add_orc_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa76cf20> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa76cfe0> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa76d130> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa76d2e0> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa76d3a0> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, mergeSchema: typing.Optional[typing.Union[bool, str]] = False) → pydantic.BaseModel

Add an orc asset to the datasource.

Signature

add_parquet_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa76e4b0> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa76ea20> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa76e9f0> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa76e960> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa76e840> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, mergeSchema: typing.Optional[typing.Union[bool, str]] = None, datetimeRebaseMode: typing.Optional[typing.Literal['EXCEPTION', 'CORRECTED', 'LEGACY']] = None, int96RebaseMode: typing.Optional[typing.Literal['EXCEPTION', 'CORRECTED', 'LEGACY']] = None) → pydantic.BaseModel

Add a parquet asset to the datasource.

Signature

add_text_asset(name: str, &amp;42;, id: <pydantic.v1.fields.DeferredType object at 0x7f1afa76f5c0> = None, order_by: <pydantic.v1.fields.DeferredType object at 0x7f1afa76f620> = None, batch_metadata: <pydantic.v1.fields.DeferredType object at 0x7f1afa76f500> = None, batch_definitions: <pydantic.v1.fields.DeferredType object at 0x7f1afa76f410> = None, connect_options: <pydantic.v1.fields.DeferredType object at 0x7f1afa76f5f0> = None, pathGlobFilter: typing.Optional[typing.Union[bool, str]] = None, recursiveFileLookup: typing.Optional[typing.Union[bool, str]] = None, modifiedBefore: typing.Optional[typing.Union[bool, str]] = None, modifiedAfter: typing.Optional[typing.Union[bool, str]] = None, wholetext: bool = False, lineSep: typing.Optional[str] = None) → pydantic.BaseModel

Add a text asset to the datasource.

Signature

delete_asset(name: str)None

Removes the DataAsset referred to by asset_name from internal list of available DataAsset objects.

Parameters

name – name of DataAsset to be deleted.

Signature

get_asset(name: str) → great_expectations.datasource.fluent.interfaces._DataAssetT

Returns the DataAsset referred to by asset_name

Parameters

name – name of DataAsset sought.

Returns

_DataAssetT – if named "DataAsset" object exists; otherwise, exception is raised.