Diese Seite wurde exportiert von Exams Labs Braindumps [ http://blog.examslabs.com ] Exportdatum:Sat Jan 4 5:48:47 2025 / +0000 GMT ___________________________________________________ Titel: Holen Sie sich neue 2022 gültige Praxis zu Ihrem CCA175 Prüfung (Updated 96 Fragen) [Q38-Q52] --------------------------------------------------- Holen Sie sich neue 2022 gültige Praxis zu Ihrem CCA175 Prüfung (Updated 96 Fragen) Cloudera Certified CCA175 Prüfung Praxis Test Fragen Dumps Bundle! Bauen Sie Ihre Karriere mit CCA175 Prüfung Menschen, die in der IT-Branche für eine lange Zeit arbeiten und wollen, um ihre Karriere zu verbessern können für Cloudera Certified Advanced Architect- Data Engineer Prüfung vorzubereiten. Die Kodierung der Cloudera Certified Advanced Architect- Data Engineer-Prüfung kann es Ihnen erleichtern, die Prüfungsfragen zu lösen. Laden Sie die Cloudera Certified Advanced Architect- Data Engineer Prüfungsfragen. Das Lösen der CCA175 Prüfungsfragen kann Ihnen die Lösung der Prüfungsfragen erleichtern. Die Datensätze der CCA175-Prüfungsfragen sind von großem Nutzen. Python wird verwendet, um die CCA175 Prüfungsfragen zu lösen. Sehen Sie sich die CCA175-Prüfungsfragen an. Dataframes werden verwendet, um die CCA175-Prüfungsfragen zu lösen. Cloudera CCA175 Prüfungsunterlagen sind die beste Quelle, um die Prüfungsfragen herauszufinden. Überprüfung der CCA175 Prüfungsfragen ist genug, um Erfolg in der Prüfung zu bekommen. Besitzen Sie die Cloudera Certified Advanced Architect- Data Engineer Prüfungsfragen. Kodierung von Cloudera Certified Advanced Architect- Data Engineer Prüfung kann es einfacher für Sie, die Prüfungsfragen zu lösen. Isa Zertifizierung wird verwendet, um die Karriere zu verbessern. Notieren Sie sich die Prüfungsfragen. Die Antworten auf die CCA175-Prüfungsfragen werden auf die angemessenste Weise vorbereitet. Lernen Sie, wie Sie die Prüfungsfragen lösen können. Die Überprüfung der Cloudera Certified Advanced Architect- Data Engineer-Prüfung wird es Ihnen erleichtern, die Prüfungsfragen zu überprüfen. Die Konfiguration der Cloudera Certified Advanced Architect- Data Engineer-Prüfung reicht aus, um in der Prüfung erfolgreich zu sein. Die Werkzeuge der Cloudera Certified Advanced Architect - Data Engineer Prüfung sind von großem Nutzen. Die CCA175 Prüfungsfragen sind in der am besten geeigneten Weise vorbereitet. NO.38 RICHTIGER TEXTProblem Szenario 68 : Sie haben eine Datei wie unten angegeben.spark75/f ile1.txtDie Datei enthält einen Text. Wie unten angegebenspark75/file1.txtApache Hadoop ist ein in Java geschriebenes Open-Source-Software-Framework für die verteilte Speicherung und verteilte Verarbeitung sehr großer Datensätze auf Computerclustern, die aus handelsüblicher Hardware bestehen. Alle Module in Hadoop wurden unter der grundlegenden Annahme entwickelt, dass Hardwareausfälle üblich sind und vom Framework automatisch behandelt werden sollten. Der Kern von Apache Hadoop besteht aus einem Speicherteil, der als Hadoop Distributed FileSystem (HDFS) bekannt ist, und einem Verarbeitungsteil namens MapReduce. Hadoop teilt Dateien in große Blöcke auf und verteilt sie auf die Knoten eines Clusters. Dieser Ansatz nutzt die Vorteile der Datenlokalität, indem die Knoten die Daten, auf die sie Zugriff haben, so bearbeiten, dass der Datensatz schneller und effizienter verarbeitet werden kann als in einer herkömmlichen Supercomputer-Architektur, die auf einem parallelen Dateisystem basiert, in dem Berechnungen und Daten über Hochgeschwindigkeitsnetzwerke verteilt werden.Eine etwas kompliziertere Aufgabe ist die Zerlegung von Sätzen aus unseren Dokumenten in Wort-Bigramme. Das erste Problem besteht darin, dass die Werte in jeder Partition unseres anfänglichen RDD Zeilen aus der Datei und nicht Sätze beschreiben. Sätze können auf mehrere Zeilen aufgeteilt sein. Mit der RDD-Methode glom() wird für jedes Dokument ein einziger Eintrag erstellt, der die Liste aller Zeilen enthält. Anschließend können wir die Zeilen zusammenfügen und sie dann unter Verwendung von "." als Trennzeichen in Sätze aufteilen, wobei wir flatMap verwenden, so dass jedes Objekt in unserem RDD jetzt ein Satz ist.Ein Bigramm ist ein Paar aufeinanderfolgender Token in einer bestimmten Sequenz. Bitte bilden Sie Bigramme aus den Wortfolgen in jedem Satz und versuchen Sie dann, die am häufigsten vorkommenden zu finden. Siehe die Erklärung für die Schritt-für-Schritt-Lösung und die Konfiguration.Erläuterung:Lösung :Schritt 1: Erstellen Sie alle drei Kacheln in hdfs (Wir werden Hue} verwenden. Sie können sie jedoch auch zuerst im lokalen Dateisystem erstellen und dann in hdfs hochladen.Schritt 2 : Das erste Problem besteht darin, dass die Werte in jeder Partition unseres anfänglichen RDD Zeilen aus der Datei und nicht Sätze beschreiben. Die RDD-Methode glom() wird verwendet, um einen einzigen Eintrag für jedes Dokument zu erstellen, der die Liste aller Zeilen enthält. Anschließend können wir die Zeilen zusammenfügen und sie dann mit "." als Trennzeichen in Sätze aufteilen, wobei wir flatMap verwenden, so dass jedes Objekt in unserer RDD nun ein Satz ist.sentences = sc.textFile("spark75/file1.txt") .glom() map(lambda x: " ".join(x)) .flatMap(lambda x: x.spllt("."))Schritt 3 : Jetzt haben wir jeden Satz isoliert und können ihn in eine Liste von Wörtern aufteilen und die Wort-Bigramme daraus extrahieren. Unser neues RDD enthält Tupel, die das Wort Bigram (selbst ein Tupel mit dem ersten und zweiten Wort) als ersten Wert und die Zahl 1 als zweiten Wert enthalten. bigrams = sentences.map(lambda x:x.split()) .flatMap(lambda x: [((x[i],x[i+1]),1)for i in range(0,len(x)-1)])Schritt 4 : Zum Schluss können wir die gleichen reduceByKey- und Sortierschritte anwenden, die wir im wordcount-Beispiel verwendet haben, um die Bigramme zu zählen und sie in absteigender Reihenfolge zu sortieren. Bei reduceByKey ist der Schlüssel nicht ein einzelnes Wort, sondern ein Bigramm.freq_bigrams = bigrams.reduceByKey(lambda x,y:x+y)map(lambda x:(x[1],x[0])) sortByKey(False)freq_bigrams.take(10)NO.39 CORRECT TEXTProblem Szenario 75 : Sie haben eine MySQL DB mit folgenden Details erhalten.user=retail_dbapassword=clouderadatabase=retail_dbtable=retail_db.orderstable=retail_db.order_itemsjdbc URL = jdbc:mysql://quickstart:3306/retail_dbBitte führen Sie folgende Aktivitäten durch.1. Kopieren Sie die Tabelle "retail_db.order_items" nach hdfs in das entsprechende Verzeichnis p90_order_items. 2. Führen Sie die Summierung des gesamten Umsatzes in dieser Tabelle mit pyspark durch.3. Finden Sie auch den maximalen und minimalen Umsatz.4. Berechnen Sie den durchschnittlichen UmsatzSpalten der Tabelle ordeMtems : (order_item_id , order_item_order_id ,order_item_product_id, order_item_quantity,order_item_subtotal,order_item_subtotal,order_item_product_price) Siehe die Erklärung für die Schritt-für-Schritt-Lösung und die Konfiguration.Erklärung:Lösung :Schritt 1 : Einzelne Tabelle importieren .sqoop import -connect jdbc:mysql://quickstart:3306/retail_db -username=retail_dba - password=cloudera -table=order_items -target -dir=p90 ordeMtems -m 1Hinweis : Bitte überprüfen Sie, dass Sie keine Leerzeichen vor oder nach dem '='-Zeichen haben. Sqoop verwendet dasMapReduce-Framework, um Daten von RDBMS nach hdfs zu kopierenSchritt 2 : Lesen Sie die Daten aus einer der Partitionen, die mit dem obigen Befehl erstellt wurden. hadoop fs-cat p90_order_items/part-m-00000Schritt 3 : Ermitteln Sie in pyspark den Gesamtumsatz über alle Tage und Bestellungen. entire TableRDD = sc.textFile("p90_order_items")#Cast string to floatextractedRevenueColumn = entireTableRDD.map(lambda line: float(line.split(",")[4]))Schritt 4 : Überprüfen der extrahierten Datenfür Umsatz in extractedRevenueColumn.collect():print revenue#use reduce'function to sum a single column valetotalRevenue = extractedRevenueColumn.reduce(lambda a, b: a + b)Schritt 5 : Berechne den maximalen UmsatzmaximumUmsatz = extractedRevenueColumn.reduce(lambda a, b: (a if a>=b else b))Schritt 6 : Berechne den minimalen UmsatzminimumUmsatz = extractedRevenueColumn.reduce(lambda a, b: (a if aProdukt(p(0).tolnt,p(1),p(2),p(3}.tolnt,p(4}.toFloat))prdRDD.first()prdRDD.count()Schritt 5 : Erstellen Sie nun einen Datenrahmen val prdDF = prdRDD.toDF()Schritt 6 : Speichern Sie nun die Daten im Hive Warehouse Verzeichnis. (Es wird jedoch keine Tabelle erstellt } import org.apache.spark.sql.SaveMode prdDF.write.mode(SaveMode.Overwrite).format("orc").saveAsTable("product_orc_table") Schritt 7: Erstellen Sie nun eine Tabelle mit den im Warehouse-Verzeichnis gespeicherten Daten. Mit Hilfe von hive.hiveshow tablesCREATE EXTERNAL TABLE products (productid int,code string,name string .quantity int, price float}STORED AS oreLOCATION 7user/hive/warehouse/product_orc_table';Schritt 8 : Erstellen Sie nun eine Parkett-Tabelleimport org.apache.spark.sql.SaveModeprdDF.write.mode(SaveMode.Overwrite).format("parquet").saveAsTable("product_parquet_ table")Schritt 9 : Erstellen Sie nun die Tabelle mit diesemCREATE EXTERNAL TABLE products_parquet (productid int,code string,name string.quantity int, price float}STORED AS parquetLOCATION 7user/hive/warehouse/product_parquet_table';Schritt 10 : Überprüfen Sie, ob die Daten geladen wurden oder nicht.Select * from products;Select * from products_parquet;NO.41 CORRECT TEXTProblem Szenario 32 : Sie haben drei Dateien wie unten angegeben.spark3/sparkdir1/Datei1.txtspark3/sparkd ir2Datei2.txtspark3/sparkd ir3ZDatei3.txtJede Datei enthält etwas Text.spark3/sparkdir1/Datei1.txtApache Hadoop ist ein in Java geschriebenes Open-Source-Software-Framework für die verteilte Speicherung und verteilte Verarbeitung sehr großer Datenmengen auf Computerclustern, die aus Standardhardware aufgebaut sind. Alle Module in Hadoop wurden unter der grundlegenden Annahme entwickelt, dass Hardwareausfälle üblich sind und vom Framework automatisch behandelt werden sollten spark3/sparkdir2/file2.txtDer Kern von Apache Hadoop besteht aus einem Speicherteil, der als Hadoop Distributed FileSystem (HDFS) bekannt ist, und einem Verarbeitungsteil namens MapReduce. Hadoop teilt Dateien in große Blöcke auf und verteilt sie auf die Knoten eines Clusters. Zur Verarbeitung der Daten überträgt Hadoop verpackten Code an die Knoten, die ihn auf der Grundlage der zu verarbeitenden Daten parallel verarbeiten.spark3/sparkdir3/file3.Dieser Ansatz nutzt die Vorteile der Datenlokalität, indem die Knoten die Daten, auf die sie Zugriff haben, so manipulieren, dass der Datensatz schneller und effizienter verarbeitet werden kann als in einer konventionelleren Supercomputerarchitektur, die auf einem parallelen Dateisystem basiert, in dem Berechnungen und Daten über Hochgeschwindigkeitsnetzwerke verteilt werden.Schreiben Sie nun einen Spark-Code in Scala, der alle diese drei Dateien aus hdfs lädt und die Wortanzahl durch Filtern der folgenden Wörter ermittelt. Und das Ergebnis sollte nach Wortanzahl in umgekehrter Reihenfolge sortiert werden.Filtern Sie Wörter ("a", "the", "an", "as", "a", "with", "this", "these", "is", "are", "in", "for", "to", "and", "The", "of")Stellen Sie bitte auch sicher, dass Sie alle drei Dateien als ein einziges RDD laden (alle drei Dateien müssen mit einem einzigen API-Aufruf geladen werden).Sie haben auch folgende Codecimport org.apache.hadoop.io.compress.GzipCodecBitte verwenden Sie obigen Codec, um die Datei zu komprimieren, während Sie in hdfs speichern. Siehe die Erklärung für die schrittweise Lösung und Konfiguration.Erklärung:Lösung :Schritt 1: Erstellen Sie alle drei Dateien in hdfs (wir werden Hue verwenden). Sie können jedoch auch zuerst im lokalen Dateisystem erstellen und dann in hdfs hochladen.Schritt 2 : Laden Sie den Inhalt aus allen Dateien.val content =sc.textFile("spark3/sparkdir1/file1.txt,spark3/sparkdir2/file2.txt,spark3/sparkdir3/file3.txt") //Laden der TextdateiSchritt 3 : Jetzt jede Zeile aufteilen und ein RDD aus Wörtern erstellen.val flatContent = content.flatMap(word=>word.split(" "))Schritt 4 : Leerzeichen nach jedem Wort entfernen (trim it)val trimmedContent = f1atContent.map(wort=>wort.trim)Schritt 5 : Erstellen Sie ein RDD aus remove, allen Wörtern, die entfernt werden müssen.val removeRDD = sc.parallelize(List("a", "theM,ManM, "as", "a", "with", "this", "these", "is", "are'"in'"for", "to", "and", "The", "of"))Schritt 6 : Filtern Sie das RDD, damit es nur Inhalte enthält, die nicht im removeRDD vorhanden sind.val filtered = trimmedContent.subtract(removeRDD}Schritt 7 : Erstellen Sie ein PairRDD, so dass wir (Wort,1) Tupel oder PairRDD haben können. val pairRDD = filtered.map(Wort => (Wort,1))Schritt 8 : Zählen Sie nun die Wörter im PairRDD. val wordCount = pairRDD.reduceByKey(_ +_)Schritt 9 : Tauschen Sie nun PairRDD.val swapped = wordCount.map(item => item.swap)Schritt 10 : Ordnen Sie nun den Inhalt um. val sortedOutput = swapped.sortByKey(false)Schritt 11 : Speichern Sie die Ausgabe als Textdatei. sortedOutput.saveAsTextFile("spark3/result")Schritt 12 : Speichern Sie die komprimierte Ausgabe.import org.apache.hadoop.io.compress.GzipCodecsortedOutput.saveAsTextFile("spark3/compressedresult", classOf[GzipCodec])NO.42 RICHTIGER TEXTProblem Szenario 13: Sie haben die folgenden mysql-Datenbankdetails sowie weitere Informationen erhalten.user=retail_dbapassword=clouderadatabase=retail_dbjdbc URL = jdbc:mysql://quickstart:3306/retail_dbBitte führen Sie Folgendes aus.1CREATE table departments_export (department_id int(11), department_name varchar(45), created_date T1MESTAMP DEFAULT NOWQ);2. importieren Sie nun die Daten aus dem folgenden Verzeichnis in die Tabelle departments_export,/user/cloudera/departments new Siehe die Erklärung für die schrittweise Lösung und Konfiguration.Erklärung:Lösung :Schritt 1 : Melden Sie sich bei musql dbmysql -user=retail_dba -password=clouderashow databases; use retail_db; show tables;Schritt 2 : Erstellen Sie eine Tabelle wie in der Problemstellung angegeben.CREATE table departments_export (departmentjd int(11), department_name varchar(45), created_date T1MESTAMP DEFAULT NOW()); show tables;Schritt 3 : Daten aus /user/cloudera/departmentsnew in die neue Tabelle departments_export exportieren sqoop export -connect jdbc:mysql://quickstart:3306/retail_db -username retaildba -password cloudera -table departments_export -export-dir /user/cloudera/departments_new -batchSchritt 4 : Überprüfen Sie nun, ob der Export korrekt durchgeführt wurde oder nicht. mysql -user*retail_dba - password=cloudera show databases; use retail _db;show tables;select' from departments_export;NO.43 RICHTIGER TEXTProblem Szenario 35 : Sie haben eine Datei mit dem Namen spark7/Mitarbeitername.csv(id,name).EmployeeName.csvE01,LokeshE02,BhupeshE03,AmitE04,RatanE05,DineshE06,PavanE07,TejasE08,SheelaE09,KumarE10,Venkat1 erhalten. Laden Sie diese Datei aus hdfs, sortieren Sie sie nach Namen und speichern Sie sie als (id,name) im Ergebnisverzeichnis. Vergewissern Sie sich jedoch, dass die Datei beim Speichern in eine einzige Datei geschrieben werden kann. Siehe die Erklärung für die Schritt-für-Schritt-Lösung und die Konfiguration.Erklärung:Lösung:Schritt 1: Erstellen Sie die Datei in hdfs (wir werden Hue verwenden). Sie können aber auch erst im lokalen Dateisystem erstellen und dann in hdfs hochladen.Schritt 2 : Laden Sie die Datei Mitarbeitername.csv aus hdfs und erstellen Sie PairRDDsval name = sc.textFile("spark7/Mitarbeitername.csv")val namePairRDD = name.map(x=> (x.split(",")(0),x.split(",")(1)))Schritt 3 : Tauschen Sie nun namePairRDD RDD.val swapped = namePairRDD.map(item => item.swap)Schritt 4: Sortieren Sie nun das RDD nach Schlüssel.val sortedOutput = swapped.sortByKey()Schritt 5 : Tauschen Sie nun das Ergebnis zurückval swappedBack = sortedOutput.map(item => item.swap}Schritt 6 : Speichern Sie die Ausgabe als Textdatei und die Ausgabe muss in eine einzige Datei geschrieben werden.swappedBack. repartition(1).saveAsTextFile("spark7/result.txt")NO.44 RICHTIGER TEXTProblem Szenario 64 : Sie haben den folgenden Codeausschnitt erhalten.val a = sc.parallelize(List("Hund", "Lachs", "Lachs", "Ratte", "Elefant"), 3) val b = a.keyBy(_.length) val c = sc.parallelize(Ust("Hund", "Katze", "Gnu", "Lachs", "Kaninchen", "Truthahn", "Wolf", "Bär", "Biene"), 3) val d = c.keyBy(_.length) operation1Schreiben Sie einen korrekten Codeschnipsel für operationl, der die gewünschte Ausgabe erzeugt, wie unten gezeigt.Array[(lnt, (Option[String], String))] = Array((6,(Einige(Lachs),Lachs)),(6,(Einige(Lachs),Kaninchen}}, (6,(Einige(Lachs),Truthahn)), (6,(Einige(Lachs),Lachs)),(6,(Einige(Lachs),Kaninchen)), (6,(Irgendein(Lachs),Truthahn)), (3,(Irgendein(Hund),Hund)),(3,(Irgendein(Hund),Katze)), (3,(Irgendein(Hund),Gnu)), (3,(Irgendein(Hund),Biene)), (3,(Irgendein(Ratte),(3,(Irgendein(Ratte),Katze)), (3,(Irgendein(Ratte),Gnu)), (3,(Irgendein(Ratte),Biene)), (4,(Keine,wo!f)),(4,(Keine,Bär))) Siehe die Erläuterung zur Schritt-für-Schritt-Lösung und Konfiguration.Erläuterung:Lösung : b.rightOuterJqin(d).collectrightOuterJoin [Pair] : Führt einen Right Outer Join mit zwei Key-Value RDDs durch. Bitte beachten Sie, dass die Schlüssel generell vergleichbar sein müssen, damit dies korrekt funktioniert.NO.45 RICHTIGER TEXTProblem Szenario 27 : Sie müssen eine echtzeitnahe Lösung für das Sammeln von Informationen implementieren, wenn sie in einer Datei mit den folgenden Informationen eingereicht werden.dataecho "IBM,100,20160104" >> /tmp/spooldir/bb/.bb.txtecho "IBM,103,20160105" >> /tmp/spooldir/bb/.bb.txtmv /tmp/spooldir/bb/.bb.txt /tmp/spooldir/bb/bb.txtNach einigen Minutensecho "IBM,100.2,20160104" >> /tmp/spooldir/dr/.dr.txtecho "IBM,103.1,20160105" >> /tmp/spooldir/dr/.dr.txtmv /tmp/spooldir/dr/.dr.txt /tmp/spooldir/dr/dr.txtVoraussetzungen:Sie haben das folgende Verzeichnis erhalten (falls nicht vorhanden, erstellen Sie es) /tmp/spooldir .Sie haben ein Finanzabonnement, um Aktienkurse von BloomBerg und Reuters zu erhalten, und laden jede Stunde neue Dateien von den jeweiligen FTP-Sites in die Verzeichnisse /tmp/spooldir/bb und /tmp/spooldir/dr herunter. Sobald eine Datei in diesem Verzeichnis übertragen wurde, muss sie in hdfs in/tmp/flume/finance in einem einzigen Verzeichnis verfügbar sein. Schreiben Sie eine Flume-Konfigurationsdatei namens flume7.conf und verwenden Sie sie, um Daten in hdfs mit folgenden zusätzlichen Eigenschaften zu laden. Spoolen Sie /tmp/spooldir/bb und /tmp/spooldir/dr2 . Der Dateipräfix in hdfs sollte events sein3 . Die Dateiendung sollte .log4 lauten. Wenn eine Datei nicht commited und in Gebrauch ist, sollte sie _ als Präfix haben.5 . Die Daten sollten als Text in hdfs geschrieben werden. Siehe die Erklärung für die schrittweise Lösung und Konfiguration.Erklärung:Lösung :Schritt 1 : Verzeichnis erstellen mkdir /tmp/spooldir/bb mkdir /tmp/spooldir/drSchritt 2 : Flume-Konfigurationsdatei erstellen, mit der folgenden Konfiguration füragent1.sources = source1 source2agent1 .sinks = sink1agent1.channels = channel1agent1 .sources.source1.channels = channel1agentl .sources.source2.Kanäle = channellagent1 .sinks.sinkl.channel = channellagent1 .sources.source1.type = spooldiragent1 .sources.sourcel.spoolDir = /tmp/spooldir/bbagent1 .sources.source2.type = spooldiragent1 .sources.source2.spoolDir = /tmp/spooldir/dragent1 .sinks.sink1.type = hdfsagent1 .sinks.sink1.hdfs.path = /tmp/flume/financeagent1-sinks.sink1.hdfs.filePrefix = eventsagent1.sinks.sink1.hdfs.fileSuffix = .logagent1 .sinks.sink1.hdfs.inUsePrefix = _agent1 .sinks.sink1.hdfs.fileType = Data Streamagent1.channels.channel1.type = fileSchritt 4 : Führen Sie den folgenden Befehl aus, der diese Konfigurationsdatei verwendet und Daten in hdfs anhängt.Starten Sie den Flume-Dienst:flume-ng agent -conf /home/cloudera/flumeconf -conf-file/home/cloudera/fIumeconf/fIume7.conf -name agent1Schritt 5 : Öffnen Sie ein weiteres Terminal und erstellen Sie eine Datei in /tmp/spooldir/echo "IBM,100,20160104" > /tmp/spooldir/bb/.bb.txtecho "IBM,103,20160105" > /tmp/spooldir/bb/.bb.txt mv /tmp/spooldir/bb/.bb.txt/tmp/spooldir/bb/bb.txtNach wenigen Minutensecho "IBM,100.2,20160104" > /tmp/spooldir/dr/.dr.txtecho "IBM,103.1,20160105" >/tmp/spooldir/dr/.dr.txt mv /tmp/spooldir/dr/.dr.txt/tmp/spooldir/dr/dr.txtNO.46 KORREKTES TEXTProblemszenario 21 : Sie haben den folgenden Dienst zur Erzeugung von Protokollen erhalten.startjogs (Er erzeugt fortlaufende Protokolle)tailjogs (Sie können überprüfen, welche Protokolle erzeugt werden)stopjogs (Er stoppt den Protokolldienst)Pfad, in dem Protokolle mit dem obigen Dienst erzeugt werden: /opt/gen_logs/logs/access.logNun schreiben Sie eine Flume-Konfigurationsdatei mit dem Namen flumel.conf, mit dieser Konfigurationsdatei werden die Protokolle im HDFS-Dateisystem in einem Verzeichnis namens flumel abgelegt. Der Flume-Kanal sollte auch die folgende Eigenschaft haben. Nach jeweils 100 Nachrichten sollte ein Commit durchgeführt werden, ein nicht dauerhafter/schneller Kanal sollte in der Lage sein, maximal 1000 Ereignisse zu speichernLösung: Schritt 1: Erstellen Sie eine Flume-Konfigurationsdatei mit der folgenden Konfiguration für Quelle, Senke und Kanal.#Define source , sink , channel and agent,agent1 .sources = source1agent1 .sinks = sink1agent1.channels = channel1# Describe/configure source1agent1 .sources.source1.type = execagent1.sources.source1.command = tail -F /opt/gen logs/logs/access.log## Beschreiben Sie sinklagentl .sinks.sinkl.channel = memory-channelagentl .sinks.sinkl .type = hdfsagentl .sinks.sink1.hdfs.path = flumelagentl .sinks.sinkl.hdfs.fileType = Data Stream# Jetzt müssen wir channell property definieren.agent1.channels.channel1.type = memoryagent1.channels.channell.capacity = 1000agent1.channels.channell.transactionCapacity = 100# Binden Sie die Quelle und Senke an den Kanalagent1.sources.source1.channels = channel1agent1.sinks.sink1.channel = channel1Schritt 2 : Führen Sie den folgenden Befehl aus, der diese Konfigurationsdatei verwendet und Daten in hdfs anhängt.Starten Sie den Log-Dienst mit: startjogsStart flume service:flume-ng agent -conf /home/cloudera/flumeconf -conf-file/home/cloudera/flumeconf/flumel.conf-Dflume.root.logger=DEBUG,INFO,consoleWarten Sie ein paar Minuten und stoppen Sie dann den Log-Dienst.Stop_logs Siehe die Erklärung für die schrittweise Lösung und Konfiguration.NO.47 RICHTIGER TEXTProblem Szenario 31 : Sie haben folgende zwei Dateien gegeben1 . Inhalt.txt: Enthält eine große Textdatei mit durch Leerzeichen getrennten Wörtern.2 . Entfernen.txt: Schreiben Sie ein Spark-Programm, das die Datei Content.txt liest und als RDD lädt, alle Wörter aus einer Broadcast-Variablen entfernt (die als RDD von Wörtern aus Remove.txt geladen wird).Zählen Sie das Auftreten jedes Wortes und speichern Sie es als Textdatei in HDFS.Content.txtHallo, das ist ABCTech.comDas ist TechABY.comApache Spark TrainingDas ist Spark Learning SessionSpark ist schneller als MapReduceRemove.txtHallo, das ist, das, das Sehen Sie sich die Erklärung für die Schritt-für-Schritt-Lösung und Konfiguration an.Erklärung:Lösung :Schritt 1 : Erstellen Sie alle drei Dateien in hdfs im Verzeichnis spark2 (Wir werden Hue verwenden).Sie können sie jedoch auch zuerst im lokalen Dateisystem erstellen und dann in hdfs hochladenSchritt 2 : Laden Sie die Datei content.txt fileval content = sc.textFile("spark2/Content.txt") //Laden Sie die TextdateiSchritt 3 : Laden Sie die Datei Remove.txt fileval remove = sc.textFile("spark2/Remove.txt") //Laden Sie die TextdateiSchritt 4 : Erstellen Sie ein RDD aus remove, Es besteht jedoch die Möglichkeit, dass jedes Wort Leerzeichen am Ende hat, entfernen Sie auch diese Leerzeichen. Wir haben hier zwei Funktionen verwendet: flatMap, map und trim.val removeRDD= remove.flatMap(x=> x.splitf',") ).map(word=>word.trim)//Erstellen Sie ein Array von WörternSchritt 5 : Senden Sie die Variable, die Sie ignorieren möchtenval bRemove = sc.broadcast(removeRDD.collect().toList) // Es sollte ein Array aus Strings seinSchritt 6 : Teilen Sie das Inhalts-RDD, damit wir ein Array aus Strings haben. val words = content.flatMap(line => line.split(" "))Schritt 7 : Filtern Sie das RDD, so dass es nur Inhalte enthält, die nicht in "BroadcastVariable" vorhanden sind. val filtered = words.filter{case (word) => !bRemove.value.contains(word)}Schritt 8 : Erstellen Sie ein PairRDD, so dass wir (word,1) Tupel oder PairRDD haben können. val pairRDD = filtered.map(word => (word,1))Schritt 9 : Führen Sie nun die Wortzählung auf PairRDD durch. val wordCount = pairRDD.reduceByKey(_ + _)Schritt 10 : Speichern Sie die Ausgabe als Textdatei.wordCount.saveAsTextFile("spark2/result.txt")NO.48 RICHTIGER TEXTProblem Szenario 95 : Sie müssen Ihre Spark-Anwendung auf Garn mit jedem Executor ausführen.Die maximale Heap-Größe soll 512 MB betragen und die Anzahl der Prozessorkerne, die jedem Executor zugewiesen werden sollen, soll 1 betragen.Ihre Hauptanwendung benötigt drei Werte als Eingangsargumente V1V2 V3.Bitte ersetzen Sie XXX, YYY, ZZZ./bin/spark-submit -class com.hadoopexam.MyTask -master yarn-cluster-num-executors 3-driver-memory 512m XXX YYY lib/hadoopexam.jarZZZ Siehe die Erläuterung zur schrittweisen Lösung und Konfiguration.Erläuterung:LösungXXX: -executor-memory 512m YYY: -executor-cores 1ZZZ : V1 V2 V3Hinweise : spark-submit on yarn options Option Beschreibungarchives Durch Komma getrennte Liste von Archiven, die in das Arbeitsverzeichnis jedes Executors entpackt werden sollen. Der Pfad muss innerhalb Ihres Clusters global sichtbar sein; siehe AdvancedDependency Management.executor-cores Anzahl der Prozessorkerne, die jedem Executor zugewiesen werden sollen. Alternativ können Sie die Eigenschaft spark.executor.cores verwenden. executor-memory Maximale Heap-Größe, die jedem Executor zugewiesen werden soll. Alternativ können Sie die spark.executor.memory-Eigenschaft verwenden.num-executors Gesamtzahl der YARN-Container, die für diese Anwendung zugewiesen werden sollen.alternativ können Sie die spark.executor.instances-Eigenschaft verwenden. queue YARN-Warteschlange, an die übermittelt werden soll. Weitere Informationen finden Sie unter Zuweisung von Anwendungen und Abfragen zu ResourcePools. Standard: default.NO.49 RICHTIGER TEXTProblem Szenario 19 : Sie haben folgende mysql-Datenbankdetails sowie weitere Informationen erhalten.user=retail_dbapassword=clouderadatabase=retail_dbjdbc URL = jdbc:mysql://quickstart:3306/retail_dbNun führen Sie folgende Aktivitäten durch.1. Importieren Sie die Abteilungs-Tabelle von mysql nach hdfs als Textdatei in das Verzeichnis departments_text.2. importieren Sie die Abteilungs-Tabelle von mysql nach hdfs als Sequenzdatei in das Verzeichnis departments_sequence.3. importieren Sie die Abteilungs-Tabelle von mysql nach hdfs als Avro-Datei in das Verzeichnis departments avro.4. importieren Sie die Abteilungs-Tabelle von mysql nach hdfs als Parkett-Datei in das Verzeichnis departments_parquet. Siehe die Erklärung für die Schritt-für-Schritt-Lösung und Konfiguration.Erläuterung:Lösung :Schritt 1 : Importieren der Tabelle departments von mysql nach hdfs als Textdateiqoop import -connect jdbc:mysql://quickstart:3306/retail_db ~ username=retail_dba -password=cloudera -table departments -as-textfile -target-dir=departments_textverify imported datahdfs dfs -cat departments_text/part "Schritt 2 : Importieren Sie die Tabelle departments von mysql nach hdfs als sequncetllesqoop import -connect jdbc:mysql://quickstart:330G/retaiI_db ~ username=retail_dba -password=cloudera -table departments -as-sequencetlle -~target-dir=departments sequenceverify imported datahdfs dfs -cat departments_sequence/part*Schritt 3 : Importieren der Tabelle departments von mysql nach hdfs als sequncetllesqoop import -connect jdbc:mysql://quickstart:330G/retaiI_db ~ username=retail_dba -password=cloudera -table departments -as-avrodatafile -target-dir=departments_avroverify imported datahdfs dfs -cat departments avro/part*Schritt 4 : Importieren Sie die Tabelle departments von mysql nach hdfs als sequncetllesqoop import -connect jdbc:mysql://quickstart:330G/retaiI_db ~ username=retail_dba -password=cloudera -table departments -as-parquetfile -target-dir=departments_parquetverify imported datahdfs dfs -cat departmentsparquet/part*NO.50 CORRECT TEXTProblem Szenario 1:Sie haben eine MySQL-DB mit folgenden Angaben erhalten.user=retail_dbapassword=clouderadatabase=retail_dbtable=retail_db.categoriesjdbc URL = jdbc:mysql://quickstart:3306/retail_dbBitte führen Sie die folgenden Aktivitäten durch.1 . Verbinden Sie die MySQL DB und überprüfen Sie den Inhalt der Tabellen.2 . Kopieren Sie die Tabelle "retaildb.categories" nach hdfs, ohne den Verzeichnisnamen anzugeben.3 . Kopieren Sie die Tabelle "retaildb.categories" nach hdfs, in ein Verzeichnis mit dem Namen "categories_target".4 . Kopieren Sie die Tabelle "retaildb.categories" nach hdfs, in ein Verzeichnis mit dem Namen "categories_warehouse". Siehe die Erklärung für die Schritt-für-Schritt-Lösung und die Konfiguration.Erklärung:Lösung :Schritt 1 : Verbindung zu einer bestehenden MySQL-Datenbank mysql -user=retail_dba - password=cloudera retail_dbSchritt 2 : Anzeigen aller verfügbaren Tabellen show tables;Schritt 3 : Anzeigen/Zählen von Daten aus einer Tabelle in MySQL select count(1} from categories;Schritt 4 : Prüfen der aktuell verfügbaren Daten im HDFS-Verzeichnis hdfs dfs -IsSchritt 5 : Importieren einer einzelnen Tabelle (ohne Angabe des Verzeichnisses).sqoop import -connect jdbc:mysql://quickstart:3306/retail_db -username=retail_dba - password=cloudera -table=categoriesHinweis : Bitte überprüfen Sie, dass Sie kein Leerzeichen vor oder nach dem '='-Zeichen haben. Sqoop verwendet dasMapReduce-Framework, um Daten von RDBMS nach hdfs zu kopierenSchritt 6 : Lesen der Daten aus einer der Partitionen, die mit dem obigen Befehl erstellt wurden, hdfs dfs - catxategories/part-m-00000Schritt 7 : Angeben des Zielverzeichnisses im Importbefehl (Wir verwenden die Anzahl der Mapper= 1, Sie können dies entsprechend ändern) sqoop import -connectjdbc:mysql://quickstart:3306/retail_db -username=retail_dba -password=cloudera~ table=categories -target-dir=categortes_target -m 1Schritt 8 : Überprüfen des Inhalts in einer der Partitionsdateien.hdfs dfs -cat categories_target/part-m-00000Schritt 9 : Angabe des übergeordneten Verzeichnisses, damit Sie mehr als eine Tabelle in ein bestimmtes Zielverzeichnis kopieren können. Befehl zur Angabe des Lagerverzeichnisses.sqoop import -.-connect jdbc:mysql://quickstart:3306/retail_db -username=retail dba - password=cloudera -table=categories -warehouse-dir=categories_warehouse -m 1NO.51 KORREKTES TEXTProblem Szenario 52 : Sie haben den folgenden Codeausschnitt erhalten.val b = sc.parallelize(List(1,2,3,4,5,6,7,8,2,4,2,1,1,1,1))Operation_xyzSchreiben Sie einen korrekten Codeausschnitt für Operation_xyz, der die folgende Ausgabe erzeugt.scalaxollection.Map[lnt,Long] = Map(5 -> 1, 8 -> 1, 3 -> 1, 6 -> 1, 1 -> S, 2 -> 3, 4 -> 2, 7 ->1) Siehe die Erläuterung zur Schritt-für-Schritt-Lösung und zur Konfiguration.Erläuterung:Lösung :b.countByValuecountByValueReturnt eine Map, die alle eindeutigen Werte des RDD und ihre jeweiligen Vorkommenszahlen enthält. (Achtung! Diese Operation aggregiert die Informationen schließlich in einem einzigen Reducer.)Listing Variantendef countByValue(): Map[T, Long]NO.52 CORRECT TEXTProblem Szenario 93 : Sie müssen Ihre Spark-Anwendung mit lokal 8 Threads oder lokal auf 8 Kernen ausführen. Ersetzen Sie XXX durch die richtigen Werte.spark-submit -class com.hadoopexam.MyTask XXX -deploy-mode clusterSSPARK_HOME/lib/hadoopexam.jar 10 Siehe die Erläuterung zur Schritt-für-Schritt-Lösung und Konfiguration.Erläuterung:LösungXXX: -master local[8]Hinweise : Die an Spark übergebene Master-URL kann in einem der folgenden Formate angegeben werden:Master-URL Bedeutung:local Führen Sie Spark lokal mit einem Worker-Thread aus (d. h. ohne jegliche Parallelität).local[K] Führen Sie Spark lokal mit K Worker-Threads aus (setzen Sie diesen Wert idealerweise auf die Anzahl der Kerne auf Ihrem Computer).local[*] Führen Sie Spark lokal mit so vielen Worker-Threads aus, wie logische Kerne auf Ihrem Computer vorhanden sind.spark://HOST:PORT Stellen Sie eine Verbindung zum angegebenen Spark-Standalone-Cluster-Master her. Der Port muss derjenige sein, für den Ihr Master konfiguriert ist (standardmäßig 7077).mesos://HOST:PORT Verbinden Sie sich mit dem angegebenen Mesos-Cluster. Der Port muss derjenige sein, für den Ihr Master konfiguriert ist, also standardmäßig 5050. Für einen Mesos-Cluster, derZooKeeper verwendet, können Sie auch mesos://zk://.... verwenden. Für die Übermittlung mit -deploy-mode cluster sollte HOST:PORT so konfiguriert werden, dass eine Verbindung zum MesosClusterDispatcher hergestellt wird.yarn Verbinden Sie sich mit einem YARN-Cl