Megosztás a következőn keresztül:


Adatok betöltése a COPY INTO használatával ideiglenes hitelesítő adatokkal

Ha az Azure Databricks-fürt vagy az SQL Warehouse nem rendelkezik a forrásfájlok olvasására vonatkozó engedélyekkel, ideiglenes hitelesítő adatokkal hozzáférhet a külső felhőobjektum-tárolóból származó adatokhoz, és fájlokat tölthet be egy Delta Lake-táblába.

Attól függően, hogy szervezete hogyan kezeli a felhőbiztonságot, előfordulhat, hogy meg kell kérnie egy felhőadminisztrátort vagy egy energiafelhasználót, hogy adja meg a hitelesítő adatokat. További információ: Ideiglenes hitelesítő adatok létrehozása a betöltéshez.

Ideiglenes hitelesítő adatok vagy titkosítási beállítások megadása az adatok eléréséhez

Feljegyzés

A hitelesítő és titkosítási lehetőségek a Databricks Runtime 10.4 LTS-ben és újabb verziókban érhetők el.

COPY INTO Támogatja:

  • Azure SAS-jogkivonatok az ADLS Gen2 és az Azure Blob Storage adatainak beolvasásához. Az Azure Blob Storage ideiglenes jogkivonatai a tároló szintjén vannak, míg az ADLS Gen2-jogkivonatok a tárolószint mellett a címtár szintjén is lehetnek. A Databricks a címtárszintű SAS-jogkivonatok használatát javasolja, ha lehetséges. Az SAS-jogkivonatnak "Olvasás", "Lista" és "Engedélyek" engedélyekkel kell rendelkeznie.
  • AWS STS-jogkivonatok az AWS S3-ból származó adatok olvasásához. A jogkivonatoknak "s3:GetObject*", "s3:ListBucket" és "s3:GetBucketLocation" engedélyekkel kell rendelkezniük.

Figyelmeztetés

Az ideiglenes hitelesítő adatokkal való visszaélés vagy kitettség elkerülése érdekében a Databricks azt javasolja, hogy olyan lejárati horizontokat állítson be, amelyek elég hosszúak a feladat elvégzéséhez.

COPY INTO támogatja a titkosított adatok AWS S3-ból való betöltését. A titkosított adatok betöltéséhez adja meg a titkosítás típusát és az adatok visszafejtéséhez szükséges kulcsot.

Adatok betöltése ideiglenes hitelesítő adatokkal

Az alábbi példa az S3-ból és az ADLS Gen2-ből tölt be adatokat ideiglenes hitelesítő adatok használatával a forrásadatokhoz való hozzáférés biztosításához.

COPY INTO my_json_data
FROM 's3://my-bucket/jsonData' WITH (
  CREDENTIAL (AWS_ACCESS_KEY = '...', AWS_SECRET_KEY = '...', AWS_SESSION_TOKEN = '...')
)
FILEFORMAT = JSON

COPY INTO my_json_data
FROM 'abfss://container@storageAccount.dfs.core.windows.net/jsonData' WITH (
  CREDENTIAL (AZURE_SAS_TOKEN = '...')
)
FILEFORMAT = JSON

Titkosított adatok betöltése

Az ügyfél által megadott titkosítási kulcsok használatával az alábbi példa adatokat tölt be az S3-ból.

COPY INTO my_json_data
FROM 's3://my-bucket/jsonData' WITH (
  ENCRYPTION (TYPE = 'AWS_SSE_C', MASTER_KEY = '...')
)
FILEFORMAT = JSON

JSON-adatok betöltése a forrás és a cél hitelesítő adataival

Az alábbi példa JSON-adatokat tölt be egy Azure-fájlból a külső Delta-táblába.my_json_data Ezt a táblát a végrehajtás előtt COPY INTO létre kell hozni. A parancs egy meglévő hitelesítő adatot használ a külső Delta-táblába való íráshoz, egy másik pedig az ABFSS-helyről való olvasáshoz.

COPY INTO my_json_data WITH (CREDENTIAL target_credential)
  FROM 'abfss://container@storageAccount.dfs.core.windows.net/base/path' WITH (CREDENTIAL source_credential)
  FILEFORMAT = JSON
  FILES = ('f.json')