Freigeben über


read_files-Tabellenwertfunktion

Gilt für:Häkchen gesetzt ja Databricks SQL Häkchen gesetzt ja Databricks Runtime 13.3 LTS und höher

Liest Dateien an einem angegebenen Speicherort und gibt die Daten in Tabellenform zurück.

Unterstützt das Lesen der Dateiformate JSON, CSV, XML, TEXT, BINARYFILE, PARQUET, AVRO und ORC. Kann das Dateiformat automatisch erkennen und ein einheitliches Schema für alle Dateien ableiten.

Syntax

read_files(path [, option_key => option_value ] [...])

Argumente

Diese Funktion erfordert einen Aufruf benannter Parameter für die Optionsschlüssel.

  • path: STRING mit dem URI des Speicherorts der Daten. Unterstützt das Lesen von Azure Data Lake Storage ('abfss://'), S3 (s3://) und Google Cloud Storage ('gs://'). Kann Globs enthalten. Ausführlichere Informationen finden Sie unter Dateiermittlung.
  • option_key: Der Name der zu konfigurierenden Option. Sie müssen Backticks () for options that contain dots (.`) verwenden.
  • option_value: Ein konstanter Ausdruck, auf den die Option festgelegt werden soll. Akzeptiert Literale und Skalarfunktionen.

Gibt zurück

Eine Tabelle, die aus den Daten aus Dateien besteht, die unter dem angegebenen Pfad (path) gelesen werden.

Dateiermittlung

read_files kann eine einzelne Datei oder Dateien in einem bereitgestellten Verzeichnis lesen. read_files ermittelt alle Dateien im bereitgestellten Verzeichnis rekursiv, es sei denn, es wird ein Glob angegeben. Dadurch wird read_files angewiesen, ein bestimmtes Verzeichnismuster rekursiv zu durchlaufen.

Filtern von Verzeichnissen oder Dateien mithilfe von Globmustern

Globmuster können zum Filtern von Verzeichnissen und Dateien verwendet werden, wenn sie im Pfad angegeben werden.

Muster BESCHREIBUNG
? Führt einen Abgleich für ein einzelnes Zeichen durch
* Entspricht null oder mehr Zeichen
[abc] Entspricht einem einzelnen Zeichen aus dem Zeichensatz {a,b,c}.
[a-z] Entspricht einem einzelnen Zeichen aus dem Zeichenbereich {a... z}.
[^a] Entspricht einem einzelnen Zeichen, das nicht aus dem Zeichensatz oder Bereich {a} stammt. Beachten Sie, dass das Zeichen ^ sofort rechts neben der öffnenden Klammer auftreten muss.
{ab,cd} Entspricht einer Zeichenfolge aus dem Zeichenfolgensatz {ab, cd}.
{ab,c{de, fh}} Entspricht einer Zeichenfolge aus dem Zeichenfolgensatz {ab, cde, cfh}.

read_files verwendet die strenge Globber des Auto Loaders beim Ermitteln von Dateien mit Globs. Dies wird durch die Option useStrictGlobber konfiguriert. Wenn der strenge Globber deaktiviert ist, werden nachgestellte Schrägstriche (/) gelöscht, und ein Sternmuster (etwa /*/) kann zur Ermittlung mehrerer Verzeichnisse erweitert werden. In den folgenden Beispiele ist der Unterschied im Verhalten zu sehen.

Muster Dateipfad Strenger Globber deaktiviert Strenger Globber aktiviert
/a/b /a/b/c/file.txt Ja Ja
/a/b /a/b_dir/c/file.txt Nein Nein
/a/b /a/b.txt Nein Nein
/a/b/ /a/b.txt Nein Nein
/a/*/c/ /a/b/c/file.txt Ja Ja
/a/*/c/ /a/b/c/d/file.txt Ja Ja
/a/*/d/ /a/b/c/d/file.txt Ja Nein
/a/*/c/ /a/b/x/y/c/file.txt Ja Nein
/a/*/c /a/b/c_file.txt Ja Nein
/a/*/c/ /a/b/c_file.txt Ja Nein
/a/*/c /a/b/cookie/file.txt Ja Nein
/a/b* /a/b.txt Ja Ja
/a/b* /a/b/file.txt Ja Ja
/a/{0.txt,1.txt} /a/0.txt Ja Ja
/a/*/{0.txt,1.txt} /a/0.txt Nein Nein
/a/b/[cde-h]/i/ /a/b/c/i/file.txt Ja Ja

Schemarückschluss

Das Schema der Dateien kann mit der Option read_files explizit für schema angegeben werden. Wenn das Schema nicht bereitgestellt wird, versucht read_files, ein einheitliches Schema für die ermittelten Dateien abzuleiten. Das macht das Lesen aller Dateien erforderlich, es sei denn, es wird eine LIMIT-Anweisung verwendet. Auch bei Verwendung einer LIMIT-Abfrage werden möglicherweise mehr Dateien gelesen als erforderlich, um ein repräsentativeres Schema der Daten zurückzugeben. Databricks fügt automatisch eine LIMIT Anweisung für SELECT Abfragen in Notizbüchern und dem SQL-Editor hinzu, wenn ein Benutzer keines angegeben hat.

Die Option schemaHints kann verwendet werden, um Teilmengen des abgeleiteten Schemas zu korrigieren. Ausführlichere Informationen finden Sie unter Außerkraftsetzung des Schemarückschlusses mit Schemahinweisen.

Eine rescuedDataColumn wird standardmäßig bereitgestellt, um alle Daten zu retten, die nicht mit dem Schema übereinstimmen. Ausführlichere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?. Sie können rescuedDataColumn löschen, indem Sie die Option schemaEvolutionMode => 'none' festlegen.

Partitionsschemarückschluss

read_files kann auch Partitionierungsspalten ableiten, wenn Dateien in im Hive-Stil partitionierten Verzeichnissen gespeichert werden, d. h. /column_name=column_value/. Wenn ein schema angegeben wird, nutzen die ermittelten Partitionsspalten die in schema bereitgestellten Typen. Wenn die Partitionsspalten nicht Teil des bereitgestellten Schemas (schema) sind, werden die abgeleiteten Partitionsspalten ignoriert.

Wenn eine Spalte sowohl im Partitionsschema als auch in den Datenspalten vorhanden ist, wird anstelle des Datenwerts der Wert verwendet, der aus dem Partitionswert gelesen wird. Wenn Sie die Werte aus dem Verzeichnis ignorieren und die Datenspalte verwenden möchten, können Sie die Liste der Partitionsspalten in einer durch Trennzeichen getrennten Liste mit der Option partitionColumns angeben.

Die Option partitionColumns kann auch verwendet werden, um read_files anzuweisen, welche ermittelten Spalten in das endgültige abgeleitete Schema eingeschlossen werden sollen. Wenn Sie eine leere Zeichenfolge angeben, werden alle Partitionsspalten ignoriert.

Die Option schemaHints kann auch bereitgestellt werden, um das abgeleitete Schema für eine Partitionsspalte zu überschreiben.

Die Formate TEXT und BINARYFILE weisen ein festes Schema auf, read_files versucht aber ebenfalls, nach Möglichkeit eine Partitionierung für diese Formate abzuleiten.

Verwendung in Streamingtabellen

read_files kann in Streamingtabellen verwendet werden, um Dateien in Delta Lake zu erfassen. Bei Verwendung in einer Streamingtabellenabfrage nutzt read_files den Autoloader. Sie müssen das Schlüsselwort STREAM mit read_files verwenden. Ausführlichere Informationen finden Sie unter Automatisches Laden.

Bei Verwendung in einer Streamingabfrage verwendet read_files eine Stichprobe der Daten zum Ableiten des Schemas. Das Schema kann bei der Verarbeitung weiterer Daten spontan weiterentwickelt werden. Weitere Informationen finden Sie unter Schemarückschluss und -entwicklung in Auto Loader konfigurieren.

Tastatur

Grundlegende Optionen

Auswahlmöglichkeit
format
Typ: String
Das Datendateiformat im Quellpfad. Automatisch abgeleitet, wenn nicht angegeben. Zulässige Werte sind:

Standardwert: None
inferColumnTypes
Typ: Boolean
Gibt an, ob exakte Spaltentypen abgeleitet werden sollen, wenn der Schemarückschluss verwendet wird. Standardmäßig werden Spalten abgeleitet, wenn JSON- und CSV-Datasets abgeleitet werden. Weitere Informationen finden Sie unter Schemarückschluss. Beachten Sie, dass dies das Gegenteil von der Standardeinstellung des Autoloaders ist.
Standardwert: true
partitionColumns
Typ: String
Eine durch Komma getrennte Liste von Partitionsspalten im Hive-Stil, die aus der Verzeichnisstruktur der Dateien abgeleitet werden sollen. Partitionsspalten im Hive-Stil sind Schlüssel-Wert-Paare, die durch ein Gleichheitszeichen kombiniert werden, wie z. B.
<base-path>/a=x/b=1/c=y/file.format. In diesem Beispiel sind die Partitionsspalten a, bund c. Standardmäßig werden diese Spalten automatisch zu Ihrem Schema hinzugefügt, wenn Sie die Schema-Inferenz verwenden und den <base-path> zum Laden der Daten angeben. Wenn Sie ein Schema bereitstellen, erwartet Autoloader, dass diese Spalten im Schema enthalten sind. Wenn Sie diese Spalten nicht als Teil des Schemas verwenden möchten, können Sie angeben, dass "" diese Spalten ignoriert. Darüber hinaus können Sie diese Option verwenden, wenn Spalten den Dateipfad in komplexen Verzeichnisstrukturen wie im folgenden Beispiel abgeleitet werden sollen:
<base-path>/year=2022/week=1/file1.csv
<base-path>/year=2022/month=2/day=3/file2.csv
<base-path>/year=2022/month=2/day=4/file3.csv
Die Angabe von cloudFiles.partitionColumns als year,month,day gibt zurück
year=2022 für file1.csv, aber die Spalten month und day sind null.
month und day werden ordnungsgemäß für file2.csv und file3.csv analysiert.
Standardwert: None
schemaHints
Typ: String
Schemainformationen, die Sie dem Autoloader während des Schemarückschlusses bereitstellen. Weitere Informationen finden Sie unter Schemahinweise.
Standardwert: None
useStrictGlobber
Typ: Boolean
Gibt an, ob ein strenger Globber verwendet werden soll, der dem Standard-Globbingverhalten anderer Dateiquellen in Apache Spark entspricht. Ausführlichere Informationen finden Sie unter Allgemeine Muster zum Laden von Daten. Verfügbar in Databricks Runtime 12.2 LTS und höher. Beachten Sie, dass dies das Gegenteil der Standardeinstellung für den Autoloader ist.
Standardwert: true

Generische Optionen

Die folgenden Optionen gelten für alle Dateiformate.

Auswahlmöglichkeit
ignoreCorruptFiles
Typ: Boolean
Gibt an, ob beschädigte Dateien ignoriert werden sollen. Bei TRUE werden die Spark-Aufträge weiterhin ausgeführt, wenn beschädigte Dateien festgestellt werden, und gelesene Inhalte werden weiterhin zurückgegeben. Beobachtbar wie numSkippedCorruptFiles in der
operationMetrics-Spalte des Delta Lake-Verlaufs. Verfügbar in Databricks Runtime 11.3 LTS und höher.
Standardwert: false
ignoreMissingFiles
Typ: Boolean
Gibt an, ob fehlende Dateien ignoriert werden sollen. Bei TRUE werden die Spark-Aufträge weiterhin ausgeführt, wenn fehlende Dateien festgestellt werden, und gelesene Inhalte werden weiterhin zurückgegeben. Verfügbar in Databricks Runtime 11.3 LTS und höher.
Standardwert: false für das automatische Laden true für COPY INTO (Legacy)
modifiedAfter
Typ: Timestamp String, z. B. 2021-01-01 00:00:00.000000 UTC+0
Optionaler Zeitstempel als Filter, um nur Dateien aufzunehmen, die nach dem angegebenen Zeitstempel einen Änderungszeitstempel aufweisen.
Standardwert: None
modifiedBefore
Typ: Timestamp String, z. B. 2021-01-01 00:00:00.000000 UTC+0
Ein optionaler Zeitstempel als Filter, um nur Dateien aufzunehmen, die einen Änderungszeitstempel vor dem bereitgestellten Zeitstempel aufweisen.
Standardwert: None
pathGlobFilter oder fileNamePattern
Typ: String
Ein mögliches Globmuster für die Auswahl von Dateien. Entspricht
PATTERN in COPY INTO (Legacy). fileNamePattern kann in read_files verwendet werden.
Standardwert: None
recursiveFileLookup
Typ: Boolean
Diese Option durchsucht geschachtelte Verzeichnisse, auch wenn ihre Namen keinem Partitionsbenennungsschema folgen, z. B. date=2019-07-01.
Standardwert: false

JSON-Optionen

Auswahlmöglichkeit
allowBackslashEscapingAnyCharacter
Typ: Boolean
Gibt an, ob umgekehrte Schrägstriche als Escapezeichen für das folgende Zeichen zugelassen werden sollen. Wenn diese Option nicht aktiviert ist, können nur Zeichen mit Escapezeichen versehen werden, die explizit in der JSON-Spezifikation aufgeführt werden.
Standardwert: false
allowComments
Typ: Boolean
Gibt an, ob die Verwendung von Java-, C- und C++-Kommentaren ('/', '*' bzw. '//') in analysierten Inhalten zugelassen werden soll oder nicht.
Standardwert: false
allowNonNumericNumbers
Typ: Boolean
Gibt an, ob die Menge der NaN-Token (Not-a-Number) als zulässige Gleitkommazahlenwerte zugelassen werden soll.
Standardwert: true
allowNumericLeadingZeros
Typ: Boolean
Gibt an, ob ganze Zahlen mit zusätzlichen (zu ignorierenden) Nullen beginnen sollen (z. B. 000001).
Standardwert: false
allowSingleQuotes
Typ: Boolean
Gibt an, ob die Verwendung von einfachen Anführungszeichen (Apostroph, Zeichen '\') als Anführungszeichen für Zeichenfolgen (Namen und Zeichenfolgenwerte) zugelassen werden soll.
Standardwert: true
allowUnquotedControlChars
Typ: Boolean
Gibt an, ob JSON-Zeichenfolgen Steuerzeichen ohne Escapezeichen (ASCII-Zeichen mit einem Wert kleiner als 32, z. B. Tabstopp- und Zeilenvorschubzeichen) enthalten dürfen.
Standardwert: false
allowUnquotedFieldNames
Typ: Boolean
Gibt an, ob die Verwendung von Feldnamen ohne Anführungszeichen zugelassen werden soll (die von JavaScript, aber nicht von der JSON-Spezifikation zugelassen werden).
Standardwert: false
badRecordsPath
Typ: String
Der Pfad zum Speichern von Dateien zum Aufzeichnen der Informationen für fehlerhafte JSON-Datensätze.
Die Verwendung der badRecordsPath Option in einer dateibasierten Datenquelle hat die folgenden Einschränkungen:
  • Es ist nicht transaktional und kann zu inkonsistenten Ergebnissen führen.
  • Vorübergehende Fehler werden als Fehler behandelt.

Standardwert: None
columnNameOfCorruptRecord
Typ: String
Die Spalte zum Speichern von Datensätzen, die fehlerhaft formatiert sind und nicht analysiert werden können. Wenn mode für die Analyse auf DROPMALFORMED festgelegt ist, ist diese Spalte leer.
Standardwert: _corrupt_record
dateFormat
Typ: String
Das Format für die Analyse von Datumszeichenfolgen.
Standardwert: yyyy-MM-dd
dropFieldIfAllNull
Typ: Boolean
Gibt an, ob Spalten beim Schemarückschluss ignoriert werden sollen, die nur NULL-Werte oder leere Arrays bzw. Strukturen enthalten.
Standardwert: false
encoding oder charset
Typ: String
Der Name der Codierung der JSON-Dateien. Eine Liste der Optionen finden Sie unter java.nio.charset.Charset. Sie können UTF-16 und UTF-32 nicht verwenden, wenn multilinetrue ist.
Standardwert: UTF-8
inferTimestamp
Typ: Boolean
Gibt an, ob versucht werden soll, Zeitstempelzeichenfolgen als TimestampType abzuleiten. Wenn festgelegt auf
true, der Schemarückschluss kann deutlich länger dauern. Für die Verwendung mit dem Autoloader müssen Sie cloudFiles.inferColumnTypes aktivieren.
Standardwert: false
lineSep
Typ: String
Eine Zeichenfolge zwischen zwei aufeinander folgenden JSON-Datensätzen.
Standardwert: ohne (deckt \r, \r\n und \n ab)
locale
Typ: String
Ein java.util.Locale-Bezeichner. Beeinflusst die standardmäßige Analyse von Datumsangaben, Zeitstempeln und Dezimalzahlen im JSON-Code.
Standardwert: US
mode
Typ: String
Parsermodus für die Verarbeitung fehlerhaft formatierter Datensätze. Einer der folgenden Werte: PERMISSIVE, DROPMALFORMED oder FAILFAST.
Standardwert: PERMISSIVE
multiLine
Typ: Boolean
Gibt an, ob die JSON-Datensätze mehrere Zeilen umfassen.
Standardwert: false
prefersDecimal
Typ: Boolean
Versucht, Zeichenfolgen nach Möglichkeit als DecimalType abzuleiten, nicht als float- oder double-Typ. Sie müssen auch den Schemarückschluss verwenden, indem Sie entweder
inferSchema aktivieren oder cloudFiles.inferColumnTypes mit dem Autoloader verwenden.
Standardwert: false
primitivesAsString
Typ: Boolean
Gibt an, ob primitive Typen wie Zahlen und boolesche Werte als StringType abgeleitet werden sollen.
Standardwert: false
readerCaseSensitive
Typ: Boolean
Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen. Verfügbar in Databricks Runtime
13.3 und höher.
Standardwert: true
rescuedDataColumn
Typ: String
Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder Schemakonflikts (einschließlich Spaltenschreibweise) nicht analysiert werden können, in einer separaten Spalte erfasst werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?.
COPY INTO (Legacy) unterstützt die gerettete Datenspalte nicht, da Sie das Schema nicht manuell mit COPY INTOfestlegen können. Databricks empfiehlt die Verwendung des automatischen Ladens für die meisten Aufnahmeszenarien.
Standardwert: None
singleVariantColumn
Typ: String
Gibt an, ob das gesamte JSON-Dokument in einer einzelnen Spalte „Variante“ geparst mit der angegebenen Zeichenfolge als Spaltenname erfasst werden soll. Wenn dies deaktiviert ist, werden die JSON-Felder in ihren eigenen Spalten erfasst.
Standardwert: None
timestampFormat
Typ: String
Das Format zum Analysieren von Zeitstempelzeichenfolgen.
Standardwert: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
Typ: String
Die java.time.ZoneId, die beim Analysieren von Zeitstempeln und Datumsangaben verwendet werden soll.
Standardwert: None

CSV-Optionen

Auswahlmöglichkeit
badRecordsPath
Typ: String
Der Pfad zum Speichern von Dateien zum Aufzeichnen der Informationen für fehlerhafte CSV-Datensätze.
Standardwert: None
charToEscapeQuoteEscaping
Typ: Char
Das Zeichen, das als Escapezeichen für das Zeichen verwendet wird, das als Escapezeichen für Anführungszeichen verwendet wird, z. B. für den Datensatz [ " a\\", b ]:
  • Wenn das Zeichen, um dem '\' zu entkommen, nicht definiert ist, werden die Daten nicht analysiert. Der Parser liest die Zeichen [a],[\],["],[,],[ ],[b] und löst einen Fehler aus, da kein schließendes Anführungszeichen gefunden wird.
  • Wenn das Zeichen, das zum Escapen des '\' verwendet wird, als '\' definiert ist, wird der Datensatz mit 2 Werten gelesen: [a\] und [b].

Standardwert: '\0'
columnNameOfCorruptRecord
Unterstützt für das automatische Laden Wird für COPY INTO (Legacy) nicht unterstützt.
Typ: String
Die Spalte zum Speichern von Datensätzen, die fehlerhaft formatiert sind und nicht analysiert werden können. Wenn mode für die Analyse auf DROPMALFORMED festgelegt ist, ist diese Spalte leer.
Standardwert: _corrupt_record
comment
Typ: Char
Definiert das Zeichen, das einen Zeilenkommentar darstellt, wenn es am Anfang einer Textzeile steht. Verwenden Sie '\0', um das Überspringen von Kommentaren zu deaktivieren.
Standardwert: '\u0000'
dateFormat
Typ: String
Das Format für die Analyse von Datumszeichenfolgen.
Standardwert: yyyy-MM-dd
emptyValue
Typ: String
Zeichenfolgendarstellung eines leeren Werts.
Standardwert: ""
encoding oder charset
Typ: String
Der Name der Codierung der CSV-Dateien. Eine Liste der Optionen finden Sie unter java.nio.charset.Charset. UTF-16 und UTF-32 können nicht verwendet werden, wenn multiline ist true.
Standardwert: UTF-8
enforceSchema
Typ: Boolean
Gibt an, ob das angegebene oder abgeleitete Schema zwangsweise auf die CSV-Dateien angewendet werden soll. Wenn die Option aktiviert ist, werden Kopfzeilen von CSV-Dateien ignoriert. Diese Option wird standardmäßig ignoriert, wenn der Autoloader verwendet wird, um Daten zu retten und die Schemaentwicklung zu ermöglichen.
Standardwert: true
escape
Typ: Char
Das Escapezeichen, das beim Analysieren der Daten verwendet werden soll.
Standardwert: '\'
header
Typ: Boolean
Gibt an, ob die CSV-Dateien ein Kopfzeile enthalten. Der Autoloader geht bei der Schemaableitung davon aus, dass Dateien Kopfzeilen enthalten.
Standardwert: false
ignoreLeadingWhiteSpace
Typ: Boolean
Gibt an, ob führende Leerzeichen für einzelne analysierte Werte ignoriert werden sollen.
Standardwert: false
ignoreTrailingWhiteSpace
Typ: Boolean
Gibt an, ob nachstehende Leerzeichen für einzelne analysierte Werte ignoriert werden sollen.
Standardwert: false
inferSchema
Typ: Boolean
Gibt an, ob die Datentypen der analysierten CSV-Datensätze abgeleitet werden sollen oder angenommen werden soll, dass alle Spalten den Typ StringType aufweisen. Bei Festlegung auf true ist eine zusätzliche Übergabe der Daten erforderlich. Verwenden Sie für den Autoloader stattdessen cloudFiles.inferColumnTypes.
Standardwert: false
lineSep
Typ: String
Eine Zeichenfolge zwischen zwei aufeinander folgenden CSV-Datensätzen.
Standardwert: ohne (deckt \r, \r\n und \n ab)
locale
Typ: String
Ein java.util.Locale-Bezeichner. Beeinflusst die standardmäßige Analyse von Datumsangaben, Zeitstempeln und Dezimalzahlen in der CSV-Datei.
Standardwert: US
maxCharsPerColumn
Typ: Int
Maximale Anzahl von Zeichen, die von einem zu analysierenden Wert erwartet werden. Kann verwendet werden, um Speicherfehler zu vermeiden. Der Standardwert ist -1, d. h. unbegrenzt.
Standardwert: -1
maxColumns
Typ: Int
Der absolute Höchstwert für die Anzahl der Spalten, die ein Datensatz enthalten kann.
Standardwert: 20480
mergeSchema
Typ: Boolean
Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll. Standardmäßig für Autoloader aktiviert, wenn das Schema abgeleitet wird.
Standardwert: false
mode
Typ: String
Parsermodus für die Verarbeitung fehlerhaft formatierter Datensätze. Einer der folgenden Werte: 'PERMISSIVE',
'DROPMALFORMED' und 'FAILFAST'.
Standardwert: PERMISSIVE
multiLine
Typ: Boolean
Gibt an, ob die CSV-Datensätze mehrere Zeilen umfassen.
Standardwert: false
nanValue
Typ: String
Die Zeichenfolgendarstellung eines NaN-Werts, wenn FloatType- und DoubleType-Spalten verwendet werden.
Standardwert: "NaN"
negativeInf
Typ: String
Die Zeichenfolgendarstellung von negativ Unendlich, wenn FloatType- und DoubleType-Spalten verwendet werden.
Standardwert: "-Inf"
nullValue
Typ: String
Zeichenfolgendarstellung eines NULL-Werts.
Standardwert: ""
parserCaseSensitive (veraltet)
Typ: Boolean
Gibt beim Lesen von Dateien an, ob Spalten, die in der Kopfzeile deklariert sind, unter Berücksichtigung der Groß-/Kleinschreibung am Schema angepasst werden sollen. Diese Option ist für den Autoloader standardmäßig true. Spalten, deren Groß-/Kleinschreibung abweicht, werden in die rescuedDataColumn-Spalte gerettet (sofern aktiviert). Diese Option wurde durch readerCaseSensitive ersetzt und gilt als veraltet.
Standardwert: false
positiveInf
Typ: String
Die Zeichenfolgendarstellung von positiv Unendlich, wenn FloatType- und DoubleType-Spalten verwendet werden.
Standardwert: "Inf"
preferDate
Typ: Boolean
Versucht, Zeichenfolgen nach Möglichkeit als Datumsangaben abzuleiten, nicht als Zeitstempel. Sie müssen auch den Schemarückschluss verwenden, indem Sie entweder inferSchema aktivieren oder
cloudFiles.inferColumnTypes mit dem Autoloader verwenden.
Standardwert: true
quote
Typ: Char
Das Zeichen, das als Escapezeichen für Werte verwendet wird, bei denen das Feldtrennzeichen Bestandteil des Werts ist.
Standardwert: "
readerCaseSensitive
Typ: Boolean
Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen.
Standardwert: true
rescuedDataColumn
Typ: String
Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder eines Schemakonflikts (einschließlich der Schreibweise von Spaltennamen) nicht geparst werden können, in einer separaten Spalte gesammelt werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?.
COPY INTO (Legacy) unterstützt die gerettete Datenspalte nicht, da Sie das Schema nicht manuell mit COPY INTOfestlegen können. Databricks empfiehlt die Verwendung des automatischen Ladens für die meisten Aufnahmeszenarien.
Standardwert: None
sep oder delimiter
Typ: String
Die Trennzeichenfolge zwischen Spalten.
Standardwert: ","
skipRows
Typ: Int
Die Anzahl der Zeilen vom Anfang der CSV-Datei, die ignoriert werden sollen (einschließlich auskommentierter und leerer Zeilen). Wenn header „True“ ist, ist die Kopfzeile die erste nicht übersprungene und nicht auskommentierte Zeile.
Standardwert: 0
timestampFormat
Typ: String
Das Format zum Analysieren von Zeitstempelzeichenfolgen.
Standardwert: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
timeZone
Typ: String
Die java.time.ZoneId, die beim Analysieren von Zeitstempeln und Datumsangaben verwendet werden soll.
Standardwert: None
unescapedQuoteHandling
Typ: String
Die Strategie für die Behandlung von Anführungszeichen ohne Escapezeichen. Zulässige Optionen:
  • STOP_AT_CLOSING_QUOTE: Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird das Anführungszeichen akkumuliert und der Wert als Wert in Anführungszeichen analysiert, bis ein schließendes Anführungszeichen erkannt wird.
  • BACK_TO_DELIMITER: Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird der Wert als Wert ohne Anführungszeichen betrachtet. Der Parser akkumuliert dann alle Zeichen des aktuellen analysierten Werts, bis das von sep definierte Trennzeichen gefunden wird. Wenn im Wert kein Trennzeichen gefunden wird, akkumuliert der Parser weiter Zeichen aus der Eingabe, bis ein Trennzeichen oder Zeilenende gefunden wird.
  • STOP_AT_DELIMITER: Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird der Wert als Wert ohne Anführungszeichen betrachtet. Dadurch wird der Parser veranlasst, alle Zeichen zu akkumulieren, bis das durch sep definierte Trennzeichen oder ein Zeilenende in der Eingabe gefunden wird.
  • SKIP_VALUE: Wenn in der Eingabe Anführungszeichen ohne Escapezeichen gefunden werden, wird der Inhalt, der für den angegebenen Wert geparst wurde, übersprungen (bis das nächste Trennzeichen gefunden wird) und stattdessen wird der in nullValue angegebene Wert erzeugt.
  • RAISE_ERROR: Wenn in der Eingabe Anführungszeichen ohne Escapezeichen erkannt werden, wird eine
    TextParsingException ausgelöst.

Standardwert: STOP_AT_DELIMITER

XML-Optionen

Auswahlmöglichkeit BESCHREIBUNG Bereich
rowTag Das Zeilentag der XML-Dateien, die als Zeile behandelt werden sollen. Im XML-Beispiel <books> <book><book>...<books> ist der entsprechende Wert book. Diese Option muss angegeben werden. Lesen
samplingRatio Definiert einen Bruchteil der Zeilen, die für den Schemarückschluss verwendet werden. Diese Option wird von integrierten XML-Funktionen ignoriert. Standardwert: 1.0. Lesen
excludeAttribute Gibt an, ob Attribute in Elementen ausgeschlossen werden sollen. Standardwert: false. Lesen
mode Modus für den Umgang mit beschädigten Datensätzen beim Parsen.
PERMISSIVE: Fügt bei beschädigten Datensätzen die nicht wohlgeformte Zeichenfolge in ein durch columnNameOfCorruptRecord konfiguriertes Feld ein und legt nicht wohlgeformte Felder auf null fest. Um beschädigte Datensätze beizubehalten, können Sie in einem benutzerdefinierten Schema ein Feld des Typs string mit dem Namen columnNameOfCorruptRecord festlegen. Wenn ein Schema nicht über das Feld verfügt, werden beschädigte Datensätze beim Parsen gelöscht. Beim Rückschließen eines Schemas fügt der Parser in einem Ausgabeschema ein columnNameOfCorruptRecord-Feld implizit hinzu.
DROPMALFORMED: Ignoriert beschädigte Datensätze. Dieser Modus wird für integrierte XML-Funktionen nicht unterstützt.
FAILFAST: Löst eine Ausnahme aus, wenn der Parser beschädigte Datensätze erkennt.
Lesen
inferSchema Versucht bei true, einen geeigneten Typ für jede resultierende DataFrame-Spalte abzuleiten. Bei false weisen alle resultierenden Spalten den Typ string auf. Standardwert:
true. Diese Option wird von integrierten XML-Funktionen ignoriert.
Lesen
columnNameOfCorruptRecord Ermöglicht das Umbenennen des neuen Felds, das eine nicht wohlgeformte Zeichenfolge enthält, die durch
den PERMISSIVE-Modus erzeugt wurde. Standardwert: spark.sql.columnNameOfCorruptRecord.
Lesen
attributePrefix Das Präfix für Attribute, um Attribute von Elementen zu unterscheiden. Dies wird das Präfix für Feldnamen sein. Der Standardwert ist _. Kann zum Lesen von XML-Code leer sein, jedoch nicht zum Schreiben. Lesen und Schreiben
valueTag Das Tag, das für die Zeichendaten in Elementen verwendet wird, die ebenfalls Attribute oder untergeordnete Elemente enthalten. Benutzer können das valueTag-Feld im Schema angeben. Andernfalls wird es beim Schemarückschluss automatisch hinzugefügt, wenn Zeichendaten in Elementen mit anderen Elementen oder Attributen vorhanden sind. Standard: _VALUE Lesen und Schreiben
encoding Decodieren Sie zum Lesen die XML-Dateien durch den angegebenen Codierungstyp. Gibt zum Schreiben die Codierung (Zeichensatz) gespeicherter XML-Dateien an. Diese Option wird von integrierten XML-Funktionen ignoriert. Standardwert: UTF-8. Lesen und Schreiben
ignoreSurroundingSpaces Definiert, ob umgebende Leerzeichen von zu lesenden Werten übersprungen werden sollen. Standardwert: true. Zeichendaten, die ausschließlich aus Leerzeichen bestehen, werden ignoriert. Lesen
rowValidationXSDPath Pfad zu einer optionalen XSD-Datei, die verwendet wird, um den XML-Code für jede Zeile einzeln zu überprüfen. Zeilen, die nicht validiert werden können, werden wie oben beschrieben als Parse-Fehler behandelt. Die XSD wirkt sich nicht anderweitig auf das bereitgestellte oder abgeleitete Schema aus. Lesen
ignoreNamespace Wenn true aktiv ist, werden die Präfixe von Namespaces für XML-Elemente und -Attribute ignoriert. Die Tags <abc:author> und <def:author> werden beispielsweise so behandelt werden, als wären beide lediglich <author>. Namespaces können für das rowTag-Element nicht ignoriert werden. Das ist lediglich für sein untergeordnetes Element möglich, das gelesen werden soll. Das XML-Parsing ist selbst bei false nicht namespacefähig. Standardwert: false. Lesen
timestampFormat Benutzerdefinierte Zeichenfolge für das Zeitstempelformat, die dem Format des Datetime-Musters folgt. Dies gilt für Typ timestamp. Standardwert: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]. Lesen und Schreiben
timestampNTZFormat Benutzerdefinierte Zeichenfolge für das Zeitstempelformat ohne Zeitzone, die dem Format des Datetime-Musters folgt. Dies gilt für den TimestampNTZType-Typ. Standardwert:
yyyy-MM-dd'T'HH:mm:ss[.SSS]
Lesen und Schreiben
dateFormat Benutzerdefinierte Zeichenfolge für das Datumsformat, die dem Format des Datetime-Musters folgt. Dies gilt für den date-Typ. Standardwert: yyyy-MM-dd. Lesen und Schreiben
locale Legt ein Gebietsschema als Sprachtag im IETF BCP 47-Format fest. Beispiel: locale wird beim Parsen von Daten und Zeitstempeln verwendet. Standardwert: en-US. Lesen
rootTag Stammtag der XML-Dateien. Beispiel: Der entsprechende Wert in <books> <book><book>...</books> lautet books. Sie können grundlegende Attribute durch das Angeben eines Werts wie books foo="bar" einschließen. Standardwert: ROWS. Schreiben
declaration Inhalt der XML-Deklaration, die am Anfang jeder XML-Ausgabedatei vor rootTag geschrieben werden soll. Beispiel: Durch einen Wert von foo wird <?xml foo?> geschrieben. Legen Sie diesen Wert auf eine leere Zeichenfolge fest, um diesen Vorgang zu unterdrücken. Standard: version="1.0"
encoding="UTF-8" standalone="yes".
Schreiben
arrayElementName Name des XML-Elements, das beim Schreiben jedes Element einer Spalte, die Arraywerte enthält, umschließt. Standardwert: item. Schreiben
nullValue Legt die Darstellung der Zeichenfolge eines NULL-Werts fest. Standard: Zeichenfolge null. Wenn dies der Fall ist null, schreibt der Parser keine Attribute und Elemente für Felder. Lesen und Schreiben
compression Komprimierungscode, der beim Speichern als Datei verwendet werden soll. Das kann einer der bekannten verkürzten Namen ohne Beachtung von Groß-/Kleinbuchstaben sein (none, bzip2, gzip, lz4, snappy und
deflate). Diese Option wird von integrierten XML-Funktionen ignoriert. Standardwert: none.
Schreiben
validateName Bei TRUE wird ein Fehler bei der Validierung von XML-Elementnamen ausgelöst. Beispiel: Namen von SQL-Feldern können Leerzeichen enthalten, XML-Elementnamen jedoch nicht. Standardwert:
true.
Schreiben
readerCaseSensitive Gibt das Verhalten bei der Berücksichtigung der Groß-/Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen. Standardwert: true. Lesen
rescuedDataColumn Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder eines Schemakonflikts (einschließlich der Groß-/Kleinschreibung von Spaltennamen) nicht analysiert werden können, in eine separate Spalte erfasst werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Ausführlichere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?.
COPY INTO (Legacy) unterstützt die gerettete Datenspalte nicht, da Sie das Schema nicht manuell mit COPY INTOfestlegen können. Databricks empfiehlt die Verwendung des automatischen Ladens für die meisten Aufnahmeszenarien.
Standard: Keine.
Lesen
singleVariantColumn Gibt den Namen der einzelnen Variantenspalte an. Wenn diese Option zum Lesen angegeben ist, analysieren Sie den gesamten XML-Eintrag in eine einzelne Variant-Spalte mit dem angegebenen Optionszeichenfolgenwert als Namen der Spalte. Wenn diese Option zum Schreiben bereitgestellt wird, schreiben Sie den Wert der einzelnen Variant-Spalte in XML-Dateien. Standardwert: none. Lesen und Schreiben

PARQUET-Optionen

Auswahlmöglichkeit
datetimeRebaseMode
Typ: String
Steuert, ob DATE- und TIMESTAMP-Werte auf dem gregorianischen Kalender und dem proleptischen gregorianischen Kalender basieren sollen. Zulässige Werte: EXCEPTION, LEGACY und
CORRECTED.
Standardwert: LEGACY
int96RebaseMode
Typ: String
Steuert, ob INT96-Zeitstempelwerte auf dem gregorianischen Kalender und dem proleptischen gregorianischen Kalender basieren sollen. Zulässige Werte: EXCEPTION, LEGACY und
CORRECTED.
Standardwert: LEGACY
mergeSchema
Typ: Boolean
Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll.
Standardwert: false
readerCaseSensitive
Typ: Boolean
Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen.
Standardwert: true
rescuedDataColumn
Typ: String
Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder eines Schemakonflikts (einschließlich der Schreibweise von Spaltennamen) nicht geparst werden können, in einer separaten Spalte gesammelt werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten. Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?.
COPY INTO (Legacy) unterstützt die gerettete Datenspalte nicht, da Sie das Schema nicht manuell mit COPY INTOfestlegen können. Databricks empfiehlt die Verwendung des automatischen Ladens für die meisten Aufnahmeszenarien.
Standardwert: None

AVRO-Optionen

Auswahlmöglichkeit
avroSchema
Typ: String
Optionales Schema, das von einem Benutzer im Avro-Format bereitgestellt wird. Beim Lesen von Avro kann diese Option auf ein weiterentwickeltes Schema festgelegt werden, das kompatibel mit dem tatsächlichen Avro-Schema ist, aber nicht damit übereinstimmt. Das Deserialisierungsschema ist mit dem weiterentwickelten Schema konsistent. Wenn Sie beispielsweise ein weiterentwickeltes Schema festlegen, das eine zusätzliche Spalte mit einem Standardwert enthält, enthält das Leseergebnis ebenfalls die neue Spalte.
Standardwert: None
datetimeRebaseMode
Typ: String
Steuert, ob DATE- und TIMESTAMP-Werte auf dem gregorianischen Kalender und dem proleptischen gregorianischen Kalender basieren sollen. Zulässige Werte: EXCEPTION, LEGACY und
CORRECTED.
Standardwert: LEGACY
mergeSchema
Typ: Boolean
Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll.
mergeSchema für Avro bewirkt keine Lockerung von Datentypen.
Standardwert: false
readerCaseSensitive
Typ: Boolean
Diese Option gibt das Verhalten bei Groß- und Kleinschreibung an, wenn rescuedDataColumn aktiviert ist. Bei „True“ werden die Datenspalten wiederhergestellt, deren Namen in Bezug auf Groß- und Kleinschreibung vom Schema abweichen. Andernfalls werden die Daten ohne Beachtung der Groß- und Kleinschreibung gelesen.
Standardwert: true
rescuedDataColumn
Typ: String
Gibt an, ob alle Daten, die aufgrund eines Datentypkonflikts oder eines Schemakonflikts (einschließlich der Schreibweise von Spaltennamen) nicht geparst werden können, in einer separaten Spalte gesammelt werden sollen. Diese Spalte ist bei Verwendung des Autoloaders standardmäßig enthalten.
COPY INTO (Legacy) unterstützt die gerettete Datenspalte nicht, da Sie das Schema nicht manuell mit COPY INTOfestlegen können. Databricks empfiehlt die Verwendung des automatischen Ladens für die meisten Aufnahmeszenarien.
Weitere Informationen finden Sie unter Was ist die Spalte „rescued data“ (gerettete Daten)?.
Standardwert: None

BINARYFILE-Optionen

Für Binärdateien gibt es keine zusätzlichen Konfigurationsoptionen.

TEXT-Optionen

Auswahlmöglichkeit
encoding
Typ: String
Der Name der Codierung des TEXT-Dateizeilentrennzeichens. Eine Liste der Optionen finden Sie unter java.nio.charset.Charset.
Der Inhalt der Datei ist von dieser Option nicht betroffen und wird as-isgelesen.
Standardwert: UTF-8
lineSep
Typ: String
Eine Zeichenfolge zwischen zwei aufeinander folgenden TEXT-Datensätzen.
Standardwert: ohne (deckt \r, \r\n und \n ab)
wholeText
Typ: Boolean
Gibt an, ob eine Datei als einzelner Datensatz gelesen werden soll.
Standardwert: false

ORC-Optionen

Auswahlmöglichkeit
mergeSchema
Typ: Boolean
Gibt an, ob das Schema über mehrere Dateien hinweg abgeleitet und das Schema der einzelnen Dateien zusammengeführt werden soll.
Standardwert: false

Streamingoptionen

Diese Optionen gelten bei Verwendung von read_files innerhalb einer Streamingtabelle oder Streamingabfrage.

Auswahlmöglichkeit
allowOverwrites
Typ: Boolean
Gibt an, ob Dateien, die nach der Ermittlung geändert wurden, erneut verarbeitet werden sollen. Die neueste verfügbare Version der Datei wird während einer Aktualisierung verarbeitet, wenn sie seit dem Startzeitpunkt der letzten erfolgreichen Aktualisierungsabfrage geändert wurde.
Standardwert: false
includeExistingFiles
Typ: Boolean
Gibt an, ob vorhandene Dateien in den Eingabepfad für die Streamverarbeitung einbezogen werden, oder ob nur neue Dateien verarbeitet werden sollen, die nach der Ersteinrichtung eingehen. Diese Option wird nur ausgewertet, wenn Sie einen Stream zum ersten Mal starten. Das Ändern dieser Option nach dem Neustart des Streams hat keine Auswirkungen.
Standardwert: true
maxBytesPerTrigger
Typ: Byte String
Die maximale Anzahl neuer Bytes, die in jedem Trigger verarbeitet werden sollen. Sie können eine Bytezeichenfolge wie z. B. 10g angeben, um jeden Microbatch auf 10 GB Daten zu beschränken. Dies ist ein weicher Maximalwert. Wenn Sie über Dateien mit jeweils 3 GB verfügen, verarbeitet Azure Databricks 12 GB in einem Microbatch. Bei Verwendung in Kombination mit maxFilesPerTrigger steigt der Verbrauch von Azure Databricks bis zur Untergrenze von maxFilesPerTrigger oder maxBytesPerTrigger, je nachdem, welcher Wert zuerst erreicht wird.
Hinweis: Bei Streamingtabellen, die auf serverlosen SQL-Warehouses erstellt wurden, sollte diese Option und maxFilesPerTrigger nicht so festgelegt werden, dass die dynamische Steuerung für die Aufnahme genutzt werden kann, die sich nach Workloadgröße und serverlosen Computeressourcen skaliert, um Ihnen die beste Latenz und Leistung zu bieten.
Standardwert: None
maxFilesPerTrigger
Typ: Integer
Die maximale Anzahl neuer Dateien, die in jedem Trigger verarbeitet werden sollen. Bei Verwendung in Kombination mit maxBytesPerTrigger steigt der Verbrauch von Azure Databricks bis zur Untergrenze von maxFilesPerTrigger oder maxBytesPerTrigger, je nachdem, welcher Wert zuerst erreicht wird.
Hinweis: Bei Streamingtabellen, die auf serverlosen SQL-Warehouses erstellt wurden, sollte diese Option und maxBytesPerTrigger nicht so festgelegt werden, dass die dynamische Steuerung für die Aufnahme genutzt werden kann, die sich nach Workloadgröße und serverlosen Computeressourcen skaliert, um Ihnen die beste Latenz und Leistung zu bieten.
Standardwert: 1000
schemaEvolutionMode
Typ: String
Der Modus zum Weiterentwickeln des Schemas, wenn neue Spalten in den Daten ermittelt werden. Standardmäßig werden Spalten als Zeichenfolgen abgeleitet, wenn JSON-Datasets abgeleitet werden. Weitere Informationen finden Sie unter Schemaentwicklung. Diese Option gilt nicht für text und binaryFile Dateien.
Standardwert: "addNewColumns", wenn kein Schema bereitgestellt wird.
Andernfalls "none".
schemaLocation
Typ: String
Der Speicherort, an dem das abgeleitete Schema und nachfolgende Änderungen gespeichert werden. Weitere Informationen finden Sie unter Schemarückschluss. Der Schemaspeicherort ist nicht erforderlich, wenn er in einer Streamingtabellenabfrage verwendet wird.
Standardwert: None

Beispiele

-- Reads the files available in the given path. Auto-detects the format and schema of the data.
> SELECT * FROM read_files('abfss://container@storageAccount.dfs.core.windows.net/base/path');

-- Reads the headerless CSV files in the given path with the provided schema.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'csv',
    schema => 'id int, ts timestamp, event string');

-- Infers the schema of CSV files with headers. Because the schema is not provided,
-- the CSV files are assumed to have headers.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'csv')

-- Reads files that have a csv suffix.
> SELECT * FROM read_files('s3://bucket/path/*.csv')

-- Reads a single JSON file
> SELECT * FROM read_files(
    'abfss://container@storageAccount.dfs.core.windows.net/path/single.json')

-- Reads JSON files and overrides the data type of the column `id` to integer.
> SELECT * FROM read_files(
    's3://bucket/path',
    format => 'json',
    schemaHints => 'id int')

-- Reads files that have been uploaded or modified yesterday.
> SELECT * FROM read_files(
    'gs://my-bucket/avroData',
    modifiedAfter => date_sub(current_date(), 1),
    modifiedBefore => current_date())

-- Creates a Delta table and stores the source file path as part of the data
> CREATE TABLE my_avro_data
  AS SELECT *, _metadata.file_path
  FROM read_files('gs://my-bucket/avroData')

-- Creates a streaming table that processes files that appear only after the table's creation.
-- The table will most likely be empty (if there's no clock skew) after being first created,
-- and future refreshes will bring new data in.
> CREATE OR REFRESH STREAMING TABLE avro_data
  AS SELECT * FROM STREAM read_files('gs://my-bucket/avroData', includeExistingFiles => false);