Lekérdezési eredmények tárolása tárolóba kiszolgáló nélküli SQL-készlet használatával az Azure Synapse Analyticsben
Ebből a cikkből megtudhatja, hogyan tárolhatja a lekérdezési eredményeket a tárolóban kiszolgáló nélküli SQL-készlet használatával.
Előfeltételek
Első lépésként hozzon létre egy adatbázist , amelyben végrehajtja a lekérdezéseket. Ezután inicializálja az objektumokat az adatbázis beállítási szkriptjének végrehajtásával. Ez a beállítási szkript létrehozza azokat az adatforrásokat, adatbázis-hatókörű hitelesítő adatokat és külső fájlformátumokat, amelyek az ezekben a mintákban lévő adatok beolvasására szolgálnak.
Az ebben a cikkben található utasításokat követve adatforrásokat, adatbázis-hatókörű hitelesítő adatokat és külső fájlformátumokat hozhat létre, amelyekkel adatokat írhat a kimeneti tárolóba.
Külső tábla létrehozása kijelölésként
A CREATE EXTERNAL TABLE AS SELECT (CETAS) utasítással tárolhatja a lekérdezési eredményeket a tárolóban.
Megjegyzés
Módosítsa a lekérdezés első sorát( például [mydbname]), így a létrehozott adatbázist használja.
USE [mydbname];
GO
CREATE DATABASE SCOPED CREDENTIAL [SasTokenWrite]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'sv=2018-03-28&ss=bfqt&srt=sco&sp=rwdlacup&se=2019-04-18T20:42:12Z&st=2019-04-18T12:42:12Z&spr=https&sig=lQHczNvrk1KoYLCpFdSsMANd0ef9BrIPBNJ3VYEIq78%3D';
GO
CREATE EXTERNAL DATA SOURCE [MyDataSource] WITH (
LOCATION = 'https://<storage account name>.blob.core.windows.net/csv', CREDENTIAL = [SasTokenWrite]
);
GO
CREATE EXTERNAL FILE FORMAT [ParquetFF] WITH (
FORMAT_TYPE = PARQUET,
DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);
GO
CREATE EXTERNAL TABLE [dbo].[PopulationCETAS] WITH (
LOCATION = 'populationParquet/',
DATA_SOURCE = [MyDataSource],
FILE_FORMAT = [ParquetFF]
) AS
SELECT
*
FROM
OPENROWSET(
BULK 'csv/population-unix/population.csv',
DATA_SOURCE = 'sqlondemanddemo',
FORMAT = 'CSV', PARSER_VERSION = '2.0'
) WITH (
CountryCode varchar(4),
CountryName varchar(64),
Year int,
PopulationCount int
) AS r;
Megjegyzés
Módosítania kell ezt a szkriptet, és módosítania kell a célhelyet, hogy újra végrehajthassa. Külső táblák nem hozhatók létre azon a helyen, ahol már rendelkezik adatokkal.
A külső tábla használata
Használhatja a CETAS-ben létrehozott külső táblát, mint egy normál külső táblát.
Megjegyzés
Módosítsa a lekérdezés első sorát( például [mydbname]), így a létrehozott adatbázist használja.
USE [mydbname];
GO
SELECT
CountryName, PopulationCount
FROM PopulationCETAS
WHERE
[Year] = 2019
ORDER BY
[PopulationCount] DESC;
Megjegyzések
Az eredmények tárolása után a külső táblában lévő adatok nem módosíthatók. Ezt a szkriptet nem lehet megismételni, mert a CETAS nem írja felül az előző végrehajtás során létrehozott mögöttes adatokat. Szavazzon a következő visszajelzési elemekre, ha ezek közül néhányra szükség van az Ön forgatókönyveiben, vagy javasolja az újakat az Azure visszajelzési webhelyén:
- Új adatok beszúrásának engedélyezése külső táblába
- Adatok külső táblából való törlésének engedélyezése
- Partíciók megadása a CETAS-ben
- Fájlméretek és -számok megadása
Az egyetlen támogatott kimeneti típus a Parquet és a CSV. A többi típusra az Azure visszajelzési webhelyén szavazhat.
Következő lépések
A különböző fájltípusok lekérdezéséről további információt az Egyetlen CSV-fájl lekérdezése, a Parquet-fájlok lekérdezése és a JSON-fájlok lekérdezése című cikkben talál.