Mi az automatikus betöltő?

Az Auto Loader fokozatosan és hatékonyan dolgozza fel az új adatfájlokat, amint azok a felhőalapú tárolóba érkeznek, további beállítások nélkül.

Hogyan működik az automatikus betöltő?

Az automatikus betöltő növekményesen és hatékonyan dolgozza fel az új adatfájlokat a felhőbeli tárolóba érkezve. Ez egy strukturált streamelési forrást biztosít, amelynek neve cloudFiles. A felhőbeli fájltároló bemeneti könyvtárának elérési útja miatt a forrás automatikusan feldolgozza az cloudFiles új fájlokat, amint megérkeznek, és lehetősége van arra is, hogy az adott könyvtárban lévő meglévő fájlokat is feldolgozza. Az Automatikus betöltő támogatja a Python és az SQL-t a Lakeflow-folyamatokban.

Az Automatikus betöltővel több milliárd fájlt dolgozhat fel a táblák migrálásához vagy visszatöltéséhez. Az Auto Loader skálázása támogatja a közel valós idejű, óránként több millió fájl betöltését.

Támogatott automatikus betöltőforrások

Az automatikus betöltő a következő forrásokból töltheti be az adatfájlokat:

  • Amazon S3 (s3://)

  • Azure Data Lake Storage (ADLS, abfss://)

  • Google Cloud Storage (GCS, gs://)

  • Unity Catalog-kötetek (/Volumes/)

  • Azure Blob Storage (wasbs://)

    Note

    Az örökölt Windows Azure Storage blobillesztő (WASB) már nem támogatott. Az ABFS számos előnnyel rendelkezik a WASB-vel szemben. Lásd Azure ABFS dokumentációját. Az örökölt WASB-illesztővel végzett munkához szükséges dokumentációt a Kapcsolódás a Azure Blob Storage a WASB (örökölt) használatával című témakörben találja.

Az automatikus betöltő betöltheti JSON, CSV, , XMLPARQUET, AVRO, , ORC, , TEXTés BINARYFILE fájlformátumokat. Az Automatikus betöltő emellett támogatja az előre tömörített fájlok olvasását ezekben a formátumokban. A formátumok szerinti támogatott tömörítési típusokért lásd az Adatformátum beállításai című témakört.

Béta verzióban elérhető, és fájlokat is beolvashatsz referenciakéntFILE. Például folyamatosan bejuthatsz dokumentumokat vagy képeket egy könyvtárból egy táblába, ahogy új fájlok érkeznek. Lásd a Fail típusként a Ingest fájlokat.

Hogyan követi nyomon az automatikus betöltő a betöltési folyamatot?

A fájlok felderítése során a metaadatok egy méretezhető kulcs-érték tárolóban (RocksDB) maradnak meg az automatikus betöltőfolyamat ellenőrzőpont-helyén . Ez a kulcs-érték tároló biztosítja, hogy az adatok feldolgozása pontosan egyszer történik.

Hibák esetén az Auto Loader az ellenőrzőpont helyén tárolt információk alapján onnan folytathatja a munkát, ahol megszakadt, és biztosítja, hogy az adatok Delta Lake-be való írása során egyszeri írási garanciákat nyújtson. Önnek nem kell semmilyen állapotot fenntartania vagy kezelnie ahhoz, hogy hibatűrést vagy pontos-egyszeri szemantikát érjen el.

Növekményes betöltés az Auto Loader használatával Lakeflow-folyamatokban

A Databricks az Auto Loader használatát javasolja a Lakeflow-folyamatokban a növekményes adatbetöltéshez. Nem kell sémát vagy ellenőrzőpont-helyet megadnia, mert a Lakeflow-folyamatok automatikusan kezelik a folyamatok beállításait. Éles számítási feladatokhoz ajánlott konfiguráció megtekintéséhez lásd: Automatikus betöltő konfigurálása.

A Databricks az Automatikus betöltőt is javasolja, amikor az Apache Spark strukturált streamelést használja az adatok felhőbeli objektumtárolóból való betöltéséhez. Az API-k Python és Scala nyelven érhetők el.

Ismerkedés a Databricks automatikus betöltőjével

A Lakeflow-folyamatokkal használt Auto Loaderrel végzett növekményes adatbetöltés konfigurálásának megkezdéséhez tekintse meg az alábbi cikkeket:

Példák: Gyakori automatikus betöltőminták

Az automatikus betöltő gyakori mintáinak példáiért lásd a gyakori adatbetöltési mintákat.

Automatikus betöltő beállításainak konfigurálása

Az Automatikus betöltő beolvasási és -folyamati módját vezérlő konfigurációs beállítások teljes körű leírásáért tekintse meg az Automatikus betöltőt.

Az Auto Loader testreszabása

Az automatikus betöltőt az adatmennyiség, a változatosság és a sebesség alapján hangolhatja.

Ha váratlan teljesítmény tapasztalható, tekintse meg az Automatikus betöltő gyakori kérdéseket.

Automatikus betöltőfájl-észlelési módok konfigurálása

Az Automatikus betöltő két fájlészlelési módot támogat. Az Automatikus betöltő alapértelmezés szerint címtár-listázási módot használ. A Databricks azonban fájlértesítési módot ajánl fájlesemények használatával a legtöbb számítási feladathoz. See:

Rendelésen kívüli adatok kezelése

Az automatikus betöltő nem garantálja a fájlok felderítésének vagy feldolgozásának sorrendjét, függetlenül attól, hogy címtárlistát vagy fájlértesítési módot használ. Az alábbi stratégiák segítségével tervezheti meg a folyamatokat a rendelésen kívüli fájlok érkezésének kezeléséhez.

Lakeflow-folyamatok AUTO CDC-val

Ha a Lakeflow-folyamatokat Auto Loaderrel és AUTO CDC használja, állítsa be a törlési jelölők megőrzési idejét úgy, hogy a törölt rekordok elég hosszú ideig megmaradjanak a nem sorrendben érkező fájlok kezeléséhez. Állítsa a pipelines.cdc.tombstoneGCThresholdInSeconds célstreamelési tábla táblatulajdonságát olyan értékre, amely meghaladja az esemény érkezése és a folyamat végrehajtása közötti maximális várható késést. Az alapértelmezett megőrzés két nap. További részletekért lásd: create_auto_cdc_flow.

Strukturált streamelés Lakeflow-folyamatok nélkül

Ha az Apache Spark strukturált streamelést közvetlenül az Automatikus betöltővel használja (Lakeflow-folyamatok nélkül), a következő mintákat kell figyelembe vennie a rendelésen kívüli adatok kezeléséhez:

  • Előnyben részesítse a helyreállítható törléseket a kemény törlésekkel szemben: A sorok eltávolítása helyett kövesse nyomon a deleted jelzőt és az időbélyeget, hogy a késői törlés ne ütközhessen a korábbi rekordokkal.
  • Időbélyegek összehasonlítása a frissítések alkalmazása előtt: A frissítés során hasonlítsa össze a bejövő rekord frissítési időbélyegét a célsor aktuális időbélyegével, hogy elkerülje az elavult adatok felülírását.

Az automatikus betöltő előnyei a strukturált streamelés közvetlen fájlokon való használatával szemben

Az Apache Sparkban növekményesen spark.readStream.format(fileFormat).load(directory)olvashat fájlokat. Az Automatikus betöltő a következő előnyöket nyújtja a fájlforrással szemben:

  • Méretezhetőség: Az automatikus betöltő több milliárd fájlt képes hatékonyan felderíteni. A háttérbetöltések aszinkron módon is elvégezhetők, hogy elkerülje a számítási erőforrások elvesztését.
  • Teljesítmény: Az automatikus betöltővel rendelkező fájlok felderítésének költsége a betöltendő fájlok számával együtt skálázható a fájlok által betölthető könyvtárak száma helyett. Lásd: Automatikus betöltő streamek konfigurálása címtárlista módban.
  • Sémakövetkeztetés és az evolúció támogatása: Az automatikus betöltő képes észlelni a sémaelsodrődéseket, értesítést küld a sémaváltozásokról, és megmenti az egyébként figyelmen kívül hagyott vagy elveszett adatokat. Lásd Hogyan működik az automatikus betöltő sémakövetkeztetés?.
  • Költség: Az automatikus betöltő natív felhőalapú API-kat használ a tárolóban található fájlok listájának lekéréséhez. Emellett az Automatikus betöltő fájlértesítési módja segíthet a felhőköltségek további csökkentésében azáltal, hogy elkerüli a címtárak teljes listáját. Az automatikus betöltő automatikusan beállíthat fájlértesítési szolgáltatásokat a tárolón, hogy a fájlfelderítés sokkal olcsóbb legyen.