rychlý start: použití fondu SQL bez serveru
Synapse fond SQL bez serveru je služba dotazů bez serveru, která umožňuje spouštět dotazy SQL na souborech umístěných v Azure Storage. v tomto rychlém startu se dozvíte, jak zadávat dotazy na různé typy souborů pomocí SQLho fondu bez serveru. Podporované formáty jsou uvedeny ve funkci OpenRowset.
V tomto rychlém startu se zobrazí dotazování: CSV, Apache Parquet a soubory JSON.
Požadavky
Vyberte si klienta SQL pro vydávání dotazů:
- Azure Synapse Studio je webový nástroj, který můžete použít k procházení souborů v úložišti a vytváření dotazů SQL.
- Azure Data Studio je klientský nástroj, který umožňuje spouštět dotazy SQL a poznámkové bloky v databázi na vyžádání.
- SQL Server Management Studio je klientský nástroj, který umožňuje spouštět dotazy SQL v databázi na vyžádání.
Parametry pro tento rychlý Start:
| Parametr | Popis |
|---|---|
| adresa koncového bodu služby fondu SQL bez serveru | Používá se jako název serveru. |
| oblast koncového bodu služby SQLového fondu bez serveru | Slouží k určení, jaké úložiště se bude používat v ukázkách. |
| Uživatelské jméno a heslo pro přístup ke koncovému bodu | Používá se pro přístup ke koncovému bodu. |
| Databáze používaná k vytváření zobrazení | Databáze použitá jako počáteční bod v ukázkách |
Nastavení při prvním spuštění
Než použijete ukázky:
- Vytvoření databáze pro zobrazení (pro případ, že chcete použít zobrazení)
- vytvoření přihlašovacích údajů, které bude používat fond SQL bez serveru pro přístup k souborům v úložišti
Vytvoření databáze
Vytvořte si vlastní databázi pro demonstrační účely. Tuto databázi použijete k vytvoření zobrazení a k ukázkovým dotazům v tomto článku.
Poznámka
Databáze se používají jenom pro metadata zobrazení, ne pro skutečná data. Poznamenejte si název databáze, který použijete pro pozdější použití v rychlém startu.
Použijte následující dotaz, který se změní mydbname na libovolný název:
CREATE DATABASE mydbname
Vytvořit zdroj dat
pokud chcete spouštět dotazy pomocí SQLho fondu bez serveru, vytvořte zdroj dat, který fond SQL bez serveru může použít k přístupu k souborům v úložišti. Spusťte následující fragment kódu pro vytvoření zdroje dat používaného v ukázkách v této části:
-- create master key that will protect the credentials:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = <enter very strong password here>
-- create credentials for containers in our demo storage account
CREATE DATABASE SCOPED CREDENTIAL sqlondemand
WITH IDENTITY='SHARED ACCESS SIGNATURE',
SECRET = 'sv=2018-03-28&ss=bf&srt=sco&sp=rl&st=2019-10-14T12%3A10%3A25Z&se=2061-12-31T12%3A10%3A00Z&sig=KlSU2ullCscyTS0An0nozEpo4tO5JAgGBvw%2FJX2lguw%3D'
GO
CREATE EXTERNAL DATA SOURCE SqlOnDemandDemo WITH (
LOCATION = 'https://sqlondemandstorage.blob.core.windows.net',
CREDENTIAL = sqlondemand
);
Dotazování souborů CSV
Následující obrázek je náhled souboru, který se má dotazovat:

následující dotaz ukazuje, jak číst soubor CSV, který neobsahuje řádek záhlaví, se Windowsm novým řádkem a s hodnotami oddělenými čárkami:
SELECT TOP 10 *
FROM OPENROWSET
(
BULK 'csv/population/*.csv',
DATA_SOURCE = 'SqlOnDemandDemo',
FORMAT = 'CSV', PARSER_VERSION = '2.0'
)
WITH
(
country_code VARCHAR (5)
, country_name VARCHAR (100)
, year smallint
, population bigint
) AS r
WHERE
country_name = 'Luxembourg' AND year = 2017
V době kompilace dotazu můžete zadat schéma. Další příklady najdete v tématu Postup dotazování souboru CSV.
Dotazování souborů Parquet
Následující příklad ukazuje schopnosti automatického odvození schématu pro dotazování souborů Parquet. Vrátí počet řádků v září 2017 bez zadání schématu.
Poznámka
Při čtení souborů Parquet není nutné zadávat sloupce v OPENROWSET WITH klauzuli. v takovém případě SQL fond bez serveru používá metadata v souboru Parquet a váže sloupce podle názvu.
SELECT COUNT_BIG(*)
FROM OPENROWSET
(
BULK 'parquet/taxi/year=2017/month=9/*.parquet',
DATA_SOURCE = 'SqlOnDemandDemo',
FORMAT='PARQUET'
) AS nyc
Přečtěte si další informace o dotazování souborů Parquet.
Dotazování souborů JSON
Ukázkový soubor JSON
Soubory jsou uloženy v kontejneru JSON , v knihách složek a obsahují jednu položku knihy s následující strukturou:
{
"_id":"ahokw88",
"type":"Book",
"title":"The AWK Programming Language",
"year":"1988",
"publisher":"Addison-Wesley",
"authors":[
"Alfred V. Aho",
"Brian W. Kernighan",
"Peter J. Weinberger"
],
"source":"DBLP"
}
Dotazování souborů JSON
Následující dotaz ukazuje, jak použít JSON_VALUE k načtení skalárních hodnot (title, Publisher) z knihy s názvem pravděpodobnostní a statistickými metodami v Cryptology, Úvod do vybraných článků:
SELECT
JSON_VALUE(jsonContent, '$.title') AS title
, JSON_VALUE(jsonContent, '$.publisher') as publisher
, jsonContent
FROM OPENROWSET
(
BULK 'json/books/*.json',
DATA_SOURCE = 'SqlOnDemandDemo'
, FORMAT='CSV'
, FIELDTERMINATOR ='0x0b'
, FIELDQUOTE = '0x0b'
, ROWTERMINATOR = '0x0b'
)
WITH
( jsonContent varchar(8000) ) AS [r]
WHERE
JSON_VALUE(jsonContent, '$.title') = 'Probabilistic and Statistical Methods in Cryptology, An Introduction by Selected Topics'
Důležité
Načítáme celý soubor JSON jako jeden řádek nebo sloupec. FIELDTERMINATOR, FIELDQUOTE a ROWTERMINATOR jsou nastaveny na 0x0B, protože neočekáváme, že ji v souboru nenajdeme.
Další kroky
Nyní jste připraveni pokračovat v následujících článcích:
- Dotaz na jeden soubor CSV
- Složky dotazů a více souborů CSV
- Dotazování konkrétních souborů
- Dotazování souborů Parquet
- Dotazování vnořených typů Parquet
- Dotazování souborů JSON
- Vytváření a používání zobrazení
- Vytváření a používání externích tabulek
- Uchovat výsledek dotazu do Azure Storage
- Dotaz na jeden soubor CSV