Apache Sqoop használata a Hadooppal a HDInsightban
Megtudhatja, hogyan használhatja az Apache Sqoopot a HDInsightban az adatok HDInsight-fürtök és Azure SQL-adatbázis közötti importálásához és exportálásához.
Bár az Apache Hadoop természetes választás strukturálatlan és félig strukturált adatok, például naplók és fájlok feldolgozására, szükség lehet a relációs adatbázisokban tárolt strukturált adatok feldolgozására is.
Az Apache Sqoop egy olyan eszköz, amelyet hadoop-fürtök és relációs adatbázisok közötti adatátvitelre terveztek. Segítségével adatokat importálhat egy relációs adatbázis-kezelő rendszerből (RDBMS), például SQL Server, MySQL vagy Oracle a Hadoop elosztott fájlrendszerébe (HDFS), átalakíthatja az adatokat a Hadoopban a MapReduce vagy az Apache Hive használatával, majd exportálhatja az adatokat egy RDBMS-be. Ebben a cikkben Azure SQL Adatbázist használja a relációs adatbázishoz.
Fontos
Ez a cikk egy tesztkörnyezetet állít be az adatátvitel végrehajtásához. Ezután a Sqoop-feladatok futtatása szakasz egyik metódusából választhatja ki a környezethez tartozó adatátviteli módszert.
A HDInsight-fürtökön támogatott Sqoop-verziókért lásd: A HDInsight által biztosított fürtverziók újdonságai?
A forgatókönyv megismerése
A HDInsight-fürt tartalmaz néhány mintaadatot. A következő két mintát használja:
- Egy Apache-naplófájl
Log4j
, amely a címen/example/data/sample.log
található. A következő naplók lesznek kinyerve a fájlból:
2012-02-03 18:35:34 SampleClass6 [INFO] everything normal for id 577725851
2012-02-03 18:35:34 SampleClass4 [FATAL] system problem at id 1991281254
2012-02-03 18:35:34 SampleClass3 [DEBUG] detail for id 1304807656
...
Egy nevű Hive-tábla
hivesampletable
, amely a következő helyen található adatfájlra/hive/warehouse/hivesampletable
hivatkozik: . A táblázat tartalmaz néhány mobileszköz-adatot.Mező Adattípus clientid sztring lekérdezési idő sztring piac sztring deviceplatform sztring devicemake sztring devicemodel sztring állapot sztring ország sztring querydwelltime double Munkamenet bigint sessionpagevieworder bigint
Ebben a cikkben ezt a két adatkészletet használja a Sqoop importálásának és exportálásának teszteléséhez.
Tesztkörnyezet beállítása
A fürt, az SQL-adatbázis és más objektumok a Azure Portal keresztül jönnek létre egy Azure Resource Manager-sablon használatával. A sablon az Azure rövid útmutatósablonjaiban található. A Resource Manager sablon bacpac-csomagot hív meg a táblaséma SQL-adatbázisban való üzembe helyezéséhez. Ha privát tárolót szeretne használni a bacpac-fájlokhoz, használja a következő értékeket a sablonban:
"storageKeyType": "Primary",
"storageKey": "<TheAzureStorageAccountKey>",
Megjegyzés
Az importálás sablonnal vagy a Azure Portal csak BACPAC-fájl Azure Blob Storage-ból való importálását támogatja.
Az alábbi kép kiválasztásával nyissa meg a Resource Manager sablont a Azure Portal.
Adja meg a következő tulajdonságokat:
Mező Érték Előfizetés Válassza ki azure-előfizetését a legördülő listából. Erőforráscsoport Válassza ki az erőforráscsoportot a legördülő listából, vagy hozzon létre egy újat Hely Válasszon ki egy régiót a legördülő listából. Fürt neve Adja meg a Hadoop-fürt nevét. Csak kisbetűket használjon. Fürt bejelentkezési felhasználóneve Tartsa meg az előre kitöltött értéket admin
.Fürt bejelentkezési jelszava Adjon meg egy jelszót. Ssh-felhasználónév Tartsa meg az előre kitöltött értéket sshuser
.Ssh-jelszó Adjon meg egy jelszót. Sql Rendszergazda Bejelentkezés Tartsa meg az előre kitöltött értéket sqluser
.Sql Rendszergazda jelszava Adjon meg egy jelszót. _artifacts hely Használja az alapértelmezett értéket, hacsak nem szeretné a saját bacpac-fájlját egy másik helyen használni. _artifacts Location Sas-token Hagyja üresen. Bacpac-fájl neve Csak akkor használja az alapértelmezett értéket, ha saját bacpac-fájlt szeretne használni. Hely Használja az alapértelmezett értéket. A logikai SQL-kiszolgáló neve .
<ClusterName>dbserver
Az adatbázis neve .<ClusterName>db
A tárfiók alapértelmezett neve .e6qhezrh2pdqu
Válassza az Elfogadom a fenti feltételeket.
Válassza a Beszerzés lehetőséget. Megjelenik egy új csempe a Sablon üzembe helyezéséhez üzembe helyezés elküldése címmel. A fürt és az SQL-adatbázis létrehozása nagyjából 20 percet vesz igénybe.
Sqoop-feladatok futtatása
A HDInsight különböző módszerekkel futtathat Sqoop-feladatokat. Az alábbi táblázat segítségével döntse el, hogy melyik módszer a megfelelő az Ön számára, majd kövesse az útmutató hivatkozását.
Használja ezt a műveletet, ha szeretné... | ... interaktív rendszerhéj | ... kötegelt feldolgozás | ... ebből az ügyfél operációs rendszerből |
---|---|---|---|
SSH | ? | ? | Linux, Unix, Mac OS X vagy Windows |
.NET SDK a Hadoophoz | ? | Windows (egyelőre) | |
Azure PowerShell | ? | Windows |
Korlátozások
- Tömeges exportálás – A Linux-alapú HDInsighttal az adatok Microsoft SQL Server vagy SQL Database való exportálásához használt Sqoop-összekötő jelenleg nem támogatja a tömeges beszúrásokat.
- Kötegelés – Linux-alapú HDInsight esetén a Sqoop a
-batch
beszúrási műveletek kötegelése helyett több beszúrást hajt végre a kapcsoló használatakor.
Következő lépések
Most már megtanulta, hogyan használhatja a Sqoopot. További információ:
- Az Apache Hive használata a HDInsighttal
- Adatok feltöltése a HDInsightba: További módszerek keresése az adatok HDInsightba/Azure Blob Storage-ba való feltöltéséhez.
- Adatok importálása és exportálása az Apache Sqoop használatával a HDInsight-alapú Apache Hadoop és az SQL Database között