Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce
Platí pro:
Databricks SQL
Databricks Runtime
Vrátí hodnotu struktury s hodnotou csvStr a schema.
Syntaxe
from_csv(csvStr, schema [, options])
Argumenty
-
csvStr: Výraz STRING určující řádek dat CSV. -
schema: Literál STRING nebo vyvoláníschema_of_csvfunkce. -
options: Volitelný literál typu MAP<STRING,STRING> určující směrnice.
Návraty
Struktura s názvy polí a typy odpovídající definici schématu.
csvStr by měl být dobře vytvořen s ohledem na schema a options.
schema musí být definováno jako dvojice názvů sloupců a datových typů oddělené čárkami, jak se používá například v CREATE TABLE.
options, pokud je uvedeno, může být čímkoliv z následujících:
-
sep(výchozí,): nastaví oddělovač pro každé pole a hodnotu. Tento oddělovač může být jeden nebo více znaků. -
encoding(výchozí UTF-8): dekóduje soubory CSV zadaným typem kódování. -
quote(výchozí"): nastaví znak používaný pro maskování uvozených hodnot, kde oddělovač může být součástí hodnoty. Pokud chcete vypnout uvozovky, musíte nastavit ne hodnotu null, ale prázdný řetězec. Toto chování se liší odcom.databricks.spark.csv. -
escape(výchozí\): nastaví jeden znak použitý k uniknutí uvozovek uvnitř již citované hodnoty. -
charToEscapeQuoteEscaping(výchozíescapenebo\0): nastaví jeden znak použitý pro únikový znak pro uvozovkový znak. Výchozí hodnota je escape znak, pokud seescapeaquoteznaky liší, jinak\0. -
comment(výchozí prázdný řetězec): Nastaví jeden znak používaný pro přeskočení řádků začínajících tímto znakem. Ve výchozím nastavení je zakázaná. - header (výchozí
false): používá první řádek jako názvy sloupců. -
enforceSchema(výchozítrue): Pokud je nastavená na hodnotu true, zadané nebo odvozené schéma je vynuceně použito u souborů zdroje dat a hlavičky v souborech CSV se ignorují. Pokud je tato možnost nastavená na hodnotu false, schéma se ověří ve všech hlavicích v souborech CSV v případě, že je možnost hlavičky nastavená na true. Názvy polí ve schématu a sloupcích v záhlavích CSV jsou kontrolovány jejich pozicemi s ohledem naspark.sql.caseSensitive. I když je výchozí hodnota true, doporučuje se zakázat možnost vynuceníSchema, aby se zabránilo nesprávným výsledkům. -
inferSchema(výchozífalse): odvodí vstupní schéma automaticky z dat. Vyžaduje další předání dat. -
samplingRatio(výchozí hodnota 1,0): definuje zlomek řádků použitých pro odvození schématu. -
ignoreLeadingWhiteSpace(výchozífalse): příznak označující, zda se mají přeskočit počáteční prázdné znaky z načítaných hodnot. -
ignoreTrailingWhiteSpace(výchozífalse): příznak označující, zda se mají při čtení hodnot přeskočit koncové prázdné znaky. -
nullValue(výchozí prázdný řetězec): Nastaví řetězcovou reprezentaci hodnoty null. -
emptyValue(výchozí prázdný řetězec): Nastaví řetězcovou reprezentaci prázdné hodnoty. -
nanValue(výchozíNaN): nastaví řetězcovou reprezentaci nečíslové hodnoty. -
positiveInf(výchozíInf): nastaví řetězcovou reprezentaci kladné nekonečné hodnoty. -
negativeInf(výchozí hodnota-Inf): nastaví řetězcovou reprezentaci záporné hodnoty nekonečna. -
dateFormat(výchozíyyyy-MM-dd): nastaví řetězec, který označuje formát data. Vlastní formáty dat se řídí formáty ve vzorech formátů data a času. To platí pro typ data. -
timestampFormat(výchozíyyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]): určuje řetězec, který naznačuje formát časového razítka. Vlastní formáty dat se řídí formáty ve vzorech formátů data a času. To platí pro typ časového razítka. -
maxColumns(výchozí20480): definuje pevný limit počtu sloupců, které může záznam obsahovat. -
maxCharsPerColumn(výchozí -1): definuje maximální počet znaků povolený pro každou zadanou hodnotu, která se čte. Ve výchozím nastavení je -1, což znamená neomezenou délku. -
unescapedQuoteHandling(výchozíSTOP_AT_DELIMITER): definuje, jak analyzátor CSV zpracovává hodnoty s neuzavřenými uvozovkami.-
STOP_AT_CLOSING_QUOTE: Pokud jsou ve vstupu nalezeny nezakódované uvozovky, nashromážděte znak uvozovky a pokračujte v parsování hodnoty jako uvozované hodnoty, dokud se nenajde závěrečná uvozovka. -
BACK_TO_DELIMITER: Pokud jsou ve vstupu nalezeny nezabalené uvozovky, považujte hodnotu za necitovanou. Analyzátor nahromadí všechny znaky právě analyzované hodnoty, dokud nenajde oddělovač. Pokud se v hodnotě nenajde žádný oddělovač, analyzátor bude pokračovat ve shromažďování znaků ze vstupu, dokud se nenajde oddělovač nebo konec řádku. -
STOP_AT_DELIMITER: Pokud jsou ve vstupu nalezeny nezabalené uvozovky, považujte hodnotu za necitovanou. Parser bude shromažďovat všechny znaky, dokud se v vstupních datech nenalezne oddělovač nebo konec řádku. -
STOP_AT_DELIMITER: Pokud jsou ve vstupu nalezeny neregulérní uvozovky, obsah určený pro zadanou hodnotu se přeskočí a hodnota nastavená vnullValuese použije. -
RAISE_ERROR: Pokud jsou ve vstupu nalezeny nepotřebné uvozovky,TextParsingExceptionje vyvolán.
-
-
mode(výchozíPERMISSIVE): Umožňuje režim pro práci s poškozenými záznamy během analýzy. Podporuje následující režimy nerozlišující malá a velká písmena. Spark se pokusí analyzovat pouze požadované sloupce v CSV při prořezávání sloupců. Proto se poškozené záznamy můžou lišit v závislosti na požadované sadě polí. Toto chování lze říditspark.sql.csv.parser.columnPruning.enabled(ve výchozím nastavení povoleno).-
PERMISSIVE: Když narazí na poškozený záznam, umístí poškozený řetězec do pole nakonfigurovaného pomocícolumnNameOfCorruptRecord, a poškozená pole nastaví na hodnotu null. Pokud chcete zachovat poškozené záznamy, může uživatel nastavit pole typu řetězce s názvem columnNameOfCorruptRecord ve schématu definovaném uživatelem. Pokud schéma pole neobsahuje, během analýzy zahodí poškozené záznamy. Záznam s méně nebo více tokeny než schéma není poškozený záznam ve formátu CSV. Když splňuje záznam s menším počtem tokenů než délka schématu, nastaví hodnotu null na další pole. Pokud záznam obsahuje více tokenů, než je délka schématu, zahodí další tokeny. -
FAILFAST: vyvolá výjimku, když narazí na poškozené záznamy.
-
-
columnNameOfCorruptRecord(výchozí hodnota je hodnota zadaná vspark.sql.columnNameOfCorruptRecord): umožňuje přejmenování nového pole s poškozeným řetězcem vytvořeným v režimuPERMISSIVE. Toto přebíjíspark.sql.columnNameOfCorruptRecord. -
multiLine(výchozífalse): parsuje jeden záznam, který může zahrnovat více řádků. -
locale(výchozíen-US): Nastaví národní prostředí jako značku jazyka ve formátu IETF BCP 47. Používá se například při analýze kalendářních dat a časových razítek. -
lineSep(výchozí hodnota pokrývá vše\r,\r\na\n): definuje oddělovač čar, který se má použít k analýze. Maximální délka je 1 znak. -
pathGlobFilter: Volitelný vzor globu, který bude obsahovat pouze soubory s cestami odpovídajícími vzoru. Syntaxe následujeorg.apache.hadoop.fs.GlobFilter. Nemění chování objevení oddílů.
Příklady
> SELECT from_csv('1, 0.8', 'a INT, b DOUBLE');
{1,0.8}
> SELECT from_csv('26/08/2015', 'time Timestamp', map('timestampFormat', 'dd/MM/yyyy'));
{"time":2015-08-26 00:00:00}