Importálás Hive-lekérdezésből
Fontos
A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.
2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.
- A gépi tanulási projektek ML Studióból (klasszikus) Azure Machine Learning való áthelyezéséről olvashat.
- További információ a Azure Machine Learning.
A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.
Ez a cikk azt ismerteti, hogyan használhatja az Adatok importálása modult a (klasszikus) Machine Learning Studióban a Hadoop-fürtök és a HDInsight elosztott tárolók adatainak lekéréséhez.
Megjegyzés
Csak a következőre vonatkozik: Machine Learning Studio (klasszikus)
Hasonló húzási modulok érhetők el Azure Machine Learning tervezőben.
Az adatok Hive-ból történő importálása különösen hasznos nagy adathalmazok betöltéséhez, vagy ha egy MapReduce-feladattal előre szeretné feldolgozni az adatokat, mielőtt betöltené az adatokat egy gépi tanulási kísérletbe.
Fontos
2018. július 31-én Microsoft Azure HDInsight 3.3-as verziója volt a HDInsight utolsó verziója Windows. Ha a Windows 3.3-at vagy korábbi verziójú HDInsight-fürtöket használja, át kell telepítenie a HDInsightra Linux rendszeren (HDInsight 3.5-ös vagy újabb verzió). A HDInsight kivezetett verzióival kapcsolatos további információért tekintse meg a Kivezetett verziók szakaszt. Machine Learning Studio (klasszikus) bizonyos esetekben támogatja a HDInsightot Linuxon.
A HDInsight támogatása Linuxon
A Machine Learning Studio (klasszikus) a következő esetekben támogatja a HdInsightot Linuxon:
- Hadoop 2.7.3 (HDI 3.6) blob alapértelmezett, másodlagos ADLS
- Spark 2.1.0 (HDI 3.6) blob alapértelmezés szerint, másodlagos ADLS
- Spark 2.2.0 (HDI 3.6) blob alapértelmezés szerint, másodlagos ADLS
- Spark 2.3.0 (HDI 3.6) blob alapértelmezés szerint, másodlagos ADLS
Ismert problémák
A Hive-lekérdezések Importálási adatok importálása modul linuxos HDInsighttal való használatával kapcsolatban számos ismert probléma merült fel:
- A vállalati biztonsági csomag nem támogatott
- /tmp/hive nem írható
Adatok importálása Hive-lekérdezésekből
A varázsló használata
A modul egy új varázslóval segíti a tárolási lehetőségek kiválasztását, a meglévő előfizetések és fiókok közül való választást, valamint az összes beállítás gyors konfigurálását.
Adja hozzá az Adatok importálása modult a kísérlethez. A modul a Studio (klasszikus) adatbemeneti és kimeneti kategóriájában található.
Kattintson az Adatok importálása varázsló indítása gombra, és kövesse az utasításokat.
Ha a konfigurálás befejeződött, az adatoknak a kísérletbe való másolásához kattintson a jobb gombbal a modulra, és válassza a Kijelölt futtatása parancsot.
Ha szerkesztenie kell egy meglévő adatkapcsolatot, a varázsló betölti az összes korábbi konfigurációs adatot, hogy ne kelljen újrakezdenie az alapoktól
Importálási tulajdonságok manuális beállítása
Az alábbi lépések az importálási forrás manuális konfigurálását írják le.
Adja hozzá az Adatok importálása modult a kísérlethez. A modul a Studio (klasszikus) adatbemeneti és kimeneti kategóriájában található.
Adatforrásként válassza a Hive-lekérdezést.
A Hive-adatbázis lekérdezésének szövegmezőjében adja meg azokat az adatokat, amelyeket a HiveQL használatával szeretne olvasni.
A HiveQL egy SQL-szerű lekérdezési nyelv, amely az adatok összesítésére és adatszűrésére is használható, mielőtt hozzáadja az adatokat a Machine Learning Studióhoz (klasszikus). A Hive-lekérdezésnek azonban táblázatos formátumban kell visszaadnia az adatokat.
Ez az utasítás például egy érvényes Hive-lekérdezés:
SELECT <column list> FROM table WHERE <expression>;
Kattintson a HCatalog-kiszolgáló URI szövegmezőjére, majd írja be a fürt teljes nevét.
Ha például létrehozott egy mycluster001 nevű fürtöt, használja a következő formátumot:
https://mycluster001.azurehdinsight.net
Kattintson a Hadoop-felhasználónév szövegmezőre, és illessze be azt a Hadoop-felhasználói fiókot, amelyet a fürt kiépítésekor használt.
Kattintson a Hadoop felhasználói fiók jelszava szövegmezőre, és írja be a fürt kiépítésekor használt hitelesítő adatokat.
A Hadoop fürtelnevezésével és hitelesítésével kapcsolatos további információkért lásd: Hadoop-fürtök kiépítése a HDInsightban.
A kimeneti adatok helyének megadásához válassza ki azt a beállítást, amely az adatok tárolási helyét jelzi. Ha az adatok a Hadoop elosztott fájlrendszerben (HDFS) találhatóak, azoknak az imént megadott fiókkal és jelszóval kell elérhetőknek lenniük. Ha az adatok az Azure-ban találhatók, adja meg a tárfiók helyét és hitelesítő adatait.
HDFS: Írja be vagy illessze be a HDFS-kiszolgáló URI-jait. Ügyeljen arra, hogy a HDInsight-fürt nevét használja az
HTTPS://
előtag nélkül.Azure: Az Azure Storage-fiók neveként írja be az Azure-fiók nevét. Ha például a tárfiók teljes URL-címe,
https://myshared.blob.core.windows.net
írja be a következőtmyshared
: .Azure Storage-kulcs: Másolja és illessze be a tárfiók eléréséhez megadott kulcsot.
Az Azure-tároló neveként adja meg a fürt alapértelmezett tárolójának nevét. A Tippek szakaszban talál segítséget annak megállapításához, hogy melyik tárolót kell használnia.
Válassza a Gyorsítótárazott eredmények használata lehetőséget, ha nem számít arra, hogy az adatok sokat változnak, vagy ha el szeretné kerülni az adatok újbóli betöltését a kísérlet minden futtatásakor.
Ha ez a beállítás be van jelölve, a modulparaméterek további módosítása nélkül a kísérlet a modul első futtatásakor betölti az adatokat, és ezt követően az adathalmaz gyorsítótárazott verzióját használja.
Ha újra be szeretné tölteni az adathalmazt a kísérlet adathalmazának minden iterációjára, törölje a jelölést a Gyorsítótárazott eredmények használata lehetőségből. Az eredmények akkor is újratöltődnek, ha módosulnak az importálási adatok paraméterei.
Futtassa a kísérletet.
Results (Eredmények)
Ha elkészült, kattintson a kimeneti adatkészletre, és válassza a Vizualizáció lehetőséget, és ellenőrizze, hogy az adatok importálása sikeresen megtörtént-e.
Ha hibaüzenetet kap, ellenőrizze az adatok hiányzó értékeit, további üres oszlopait vagy nem kompatibilis adattípusait.
Példák
A HDInsight-fürtök konfigurálására és a Hive-lekérdezések gépi tanulási kísérletekben való használatára vonatkozó példákért tekintse meg az alábbi forrásokat:
Ez a cikk részletesen bemutatja, hogyan hozhat létre fürtöt, tölthet fel adatokat, és hogyan hívhatja meg a Studio (klasszikus) adatait a Hive: Advanced Analytics Process and Technology in Action: Using HDInsight Hadoop-fürtök használatával.
Vesa Tikkanen MVP blogja néhány problémát és kerülő megoldást ismertet, amikor nagyon nagy méretű fájlokat (elosztott lekérdezéseket) olvas egy HD-fürtből Linuxon: Linux HDInsight Hive olvasása az Azure-ból ML
Bár a Hive számos adattisztítási és -előfeldolgozási funkcióhoz kínál kiváló funkciókat, az importálás után hasznosnak bizonyulhatnak ezek az eszközök az adatok modellezésre való előkészítéséhez:
A Metaadatok szerkesztése és más modulok segítségével módosíthatja az oszlopneveket, megadhatja, hogy mely oszlopok tartalmaznak címkéket és szolgáltatásokat, és adja meg az oszlop adattípusát. Példákért lásd az adathalmaz-feldolgozást.
Szövegadatok feldolgozása Python használatával az írásjelek eltávolításához, a beszédrészek megjelöléséhez és sok máshoz. Példákért lásd a Szövegbesorolás című témakört.
Több különböző forrásból származó táblázat kombinálása egyetlen betanítási adattáblában. Példákért lásd a prediktív karbantartást.
Technikai megjegyzések
Ez a szakasz a megvalósítás részleteit, a tippeket és a gyakori kérdésekre adott válaszokat tartalmazza.
Az alapértelmezett tároló meghatározása
Ha az összes alapértelmezett beállítás elfogadásával hozta létre a fürtöt, a fürt létrehozásakor egy, a fürt nevével megegyező nevű tároló jött létre. Ez a tároló a fürt alapértelmezett tárolója. Ha azonban a CUSTOM CREATE lehetőséget választotta a fürt létrehozásakor, két lehetőség közül választhatja ki az alapértelmezett tárolót. Az első lehetőség egy meglévő tároló kiválasztása. Ha így tesz, az a tároló lesz a fürt alapértelmezett tárolója. A második lehetőség az alapértelmezett tároló létrehozása. Ha ezt a beállítást használja, az alapértelmezett tároló neve megegyezik a fürt nevével.
Python-szkriptek meghívása Hive-lekérdezésből
Az Adatok importálása modullal olyan Hive-lekérdezéseket futtathat, amelyek Python UDF-eket hívnak meg a rekordok feldolgozásához.
További információ: A Python használata a Hive és a Pig használatával a HDInsightban.
Memóriakihasználtság elkerülése az adatok Hive-beli elő feldolgozásakor
Amikor Hive-lekérdezésekkel nyer ki rekordokat big data-forrásokból, a Hadoop-fürt alapértelmezett konfigurációja néha túl korlátozott a MapReduce-feladat futtatásának támogatásához. A HDInsight kibocsátási megjegyzéseiben például az alapértelmezett beállítások négycsomópontos fürtként vannak definiálva.
Ha a MapReduce-feladat követelményei túllépik a rendelkezésre álló kapacitást, a Hive-lekérdezések memóriakihasználtságot jelző hibaüzenetet adhatnak vissza, amely miatt az Adatok importálása művelet meghiúsul. Ha ez történik, módosíthatja a Hive-lekérdezések alapértelmezett memóriafoglalását az Adatok importálása modulban, az itt látható módon:
Ebben a példában a parancsok set mapreduce.map.memory.mb
set mapreduce.reduce.memory.mb
a fürtben megengedett maximális memóriamennyiség növelésére szolgálnak.
Gyakori kérdések
Hogyan kerülhetem el, hogy feleslegesen töltsem be ugyanazokat az adatokat?
Ha a forrásadatok megváltoznak, frissítheti az adathalmazt, és új adatokat adhat hozzá az Adatok importálása újrafuttatásával. Ha azonban nem szeretne a kísérlet minden futtatásakor újraolvasni a forrásból, válassza a Gyorsítótárazott eredmények használata beállítást IGAZ értékre. Ha ez a beállítás IGAZ értékre van állítva, a modul ellenőrzi, hogy a kísérlet korábban ugyanazzal a forrással és ugyanazokkal a bemeneti beállításokkal futott-e, és ha egy korábbi futtatás található, a rendszer a gyorsítótárban lévő adatokat használja ahelyett, hogy újra betölti az adatokat a forrásból.
Szűrhetem az adatokat a forrásból beolvasott adatok alapján
Maga az Adatok importálása modul nem támogatja a szűrést az adatok beolvasása közben.
Ha szűrni szeretné az adatokat, mielőtt beolvassa őket a Machine Learning Studióba (klasszikus), használjon Hive-lekérdezést vagy MapReduce-feladatot az adatok összesítéséhez és átalakításához.
Az adatok szűrésére a Machine Learning Studio (klasszikus) szolgáltatásba való betöltése után is többféle lehetőség áll rendelkezésre:
- Egyéni R-szkripttel csak a kívánt adatokat szerezheti be.
- Az Adatok felosztása modul relatív kifejezéssel vagy reguláris kifejezéssel elkülönítheti a kívánt adatokat, majd adathalmazként mentheti őket.
Megjegyzés
Ha azt tapasztalja, hogy a szükségesnél több adatot töltött be, felülírhatja a gyorsítótárazott adathalmazt egy új adatkészlet beolvasásával, és a régebbi, nagyobb adatokkal megegyező néven mentheti azokat.
Modulparaméterek
Name | Tartomány | Típus | Alapértelmezett | Description |
---|---|---|---|---|
Adatforrás | Lista | Adatforrás vagy fogadó | Azure Blob Storage | Az adatforrás lehet HTTP, FTP, névtelen HTTPS vagy FTPS, egy fájl az Azure BLOB Storage-ban, egy Azure-tábla, egy Azure SQL Database, egy helyszíni SQL Server-adatbázis, egy Hive-tábla vagy egy OData-végpont. |
Hive-adatbázis lekérdezése | bármelyik | StreamReader | HQL-lekérdezés | |
HCatalog-kiszolgáló URI-ja | bármelyik | Sztring | Templeton-végpont | |
Hadoop-felhasználói fiók neve | bármelyik | Sztring | Hadoop HDFS/HDInsight felhasználónév | |
Hadoop felhasználói fiók jelszava | bármelyik | SecureString | Hadoop HDFS/HDInsight-jelszó | |
A kimeneti adatok helye | bármelyik | DataLocation | HDFS | HDFS vagy Azure megadása outputDirhez |
HDFS-kiszolgáló URI-ja | bármelyik | Sztring | HDFS rest végpont | |
Azure Storage-tárfiók neve | bármelyik | Sztring | Azure Storage-tárfiók neve | |
Azure Storage-kulcs | bármelyik | SecureString | Azure Storage-kulcs | |
Azure-tároló neve | bármelyik | Sztring | Azure-tároló neve | |
Adattartalom típusa | Lista (részhalmaz) | URL-cím tartalma | OData | Adatformátum típusa |
Forrás URL-címe | bármelyik | Sztring | Power Query adatforrás URL-címe | |
Gyorsítótárazott eredmények használata | IGAZ/HAMIS | Logikai | HAMIS | leírás |
Kimenetek
Név | Típus | Description |
---|---|---|
Eredmények adatkészlete | Adattábla | Letöltött adatokkal rendelkező adatkészlet |
Kivételek
Kivétel | Description |
---|---|
0027-s hiba | Kivételt képez, ha két objektumnak azonos méretűnek kell lennie, de nem. |
0003-os hiba | Kivétel történik, ha egy vagy több bemenet null értékű vagy üres. |
0029-s hiba | Kivétel akkor fordul elő, ha érvénytelen URI-t ad át. |
0030-ás hiba | Kivétel történik, ha nem lehet letölteni egy fájlt. |
0002-s hiba | Kivétel történik, ha egy vagy több paraméter nem elemezhető vagy konvertálható a megadott típusból a célmetódus által megkövetelt típusra. |
0009-s hiba | Kivétel történik, ha az Azure Storage-fiók neve vagy a tároló neve helytelenül van megadva. |
0048-ás hiba | Kivétel történik, ha nem lehet megnyitni egy fájlt. |
0015-ös hiba | Kivétel történik, ha az adatbázis-kapcsolat meghiúsult. |
0046-os hiba | Kivétel történik, ha nem lehet könyvtárat létrehozni a megadott elérési úton. |
0049-s hiba | Kivétel akkor fordul elő, ha nem lehet elemezni egy fájlt. |
A Studio (klasszikus) modulokkal kapcsolatos hibák listáját Machine Learning hibakódok között találja.
Az API-kivételek listájáért lásd Machine Learning REST API hibakódjait.
Lásd még
Adatok importálása
Adatok exportálása
Importálás webes URL-ről HTTP-kapcsolaton keresztül
Importálás Azure SQL Database-ből
Importálás az Azure Tableből
Importálás Azure Blob Storage
Importálás adatcsatorna-szolgáltatókból
Importálás helyszíni SQL Server-adatbázisból