Einführung in Sqoop Interview Fragen und Antworten

Sqoop ist ein Open-Source-Tool zur Datenübertragung. Das Sqoop-Tool überträgt Daten zwischen dem Hadoop-Ökosystem und relationalen Datenbankservern (RDBMS). Es importiert die Daten aus relationalen Datenbanken wie Oracle, MySQL usw. in das Hadoop-Dateisystem (HDFS) und exportiert Daten aus dem Hadoop-Dateisystem in RDMS.

Im Folgenden finden Sie die 15 wichtigsten Fragen und Antworten zum Sqoop-Interview für 2019:

Sie haben also endlich Ihren Traumjob in Sqoop gefunden, fragen sich aber, wie Sie das Sqoop-Interview knacken und was die wahrscheinlichen 2019 Sqoop-Interview-Fragen sein könnten. Jedes Interview ist anders und der Umfang eines Jobs ist auch anders. Aus diesem Grund haben wir die häufigsten Fragen und Antworten zu Sqoop-Vorstellungsgesprächen erstellt, um Ihnen dabei zu helfen, in Ihrem Vorstellungsgespräch erfolgreich zu sein.

Diese Fragen gliedern sich in zwei Teile:

Teil 1 - Fragen zu Sqoop-Vorstellungsgesprächen (Grundkenntnisse)

Dieser erste Teil behandelt grundlegende Fragen und Antworten zu Sqoop-Vorstellungsgesprächen.

1. Definieren Sie Sqoop und warum verwenden wir Sqoop?

Antworten:
Sqoop ist ein Open-Source-Datenübertragungstool, mit dem Daten zwischen dem Hadoop-Ökosystem und relationalen Datenbankservern (RDBMS) übertragen werden können. Sqoop wird zum Importieren der Daten aus relationalen Datenbanken wie Oracle, MySQL usw. in das Hadoop-Dateisystem (HDFS) sowie zum Exportieren von Daten aus dem Hadoop-Dateisystem in relationale Datenbanken verwendet.

2. Was sind die verschiedenen Funktionen von Sqoop?

Antworten:
Nachfolgend sind die verschiedenen vom Sqoop unterstützten Funktionen aufgeführt:

  1. Ladekapazität
  2. Vollständiges Laden und inkrementelles Laden
  3. Datenkomprimierungstechniken
  4. Importieren der SQL-Abfrageergebnisse
  5. Datenkonnektoren für alle wichtigen Datenbanken
  6. Unterstützung für das direkte Laden von Daten in Hadoop File Systems
  7. Sicherheitskonfigurationen wie Kerberos
  8. Gleichzeitige Import- oder Exportfunktionen

Fahren wir mit den nächsten Fragen zum Sqoop-Interview fort.

3. Nennen Sie die relationalen Datenbanken und Hadoop-Ökosystemquellen, die in Sqoop unterstützt werden.

Antworten:
Sqoop unterstützt derzeit MySQL, PostgreSQL, Oracle, MSSQL, Teradata und IBMs Netezza als Teil von Relation Databases.

Derzeit unterstützte Hadoop Eco-System-Zieldienste sind HDFC, Hive, HBase, H Catalog und Accumulo.

Sqoop verwendet MySQL als Standarddatenbank.

4. Wie funktioniert Sqoop?

Antworten:
Dies sind die allgemeinen Fragen zu Sqoop-Vorstellungsgesprächen, die in einem Interview gestellt werden. Für die Datenübertragung verwendet Sqoop Export- und Importbefehle. Das Map Reduce-Programm wird in Sqoop intern zum Speichern des Datensatzes in HDFS verwendet. Mit Map-Tasks werden Befehle verknüpft, um Daten aus relationalen Datenbanken abzurufen. Aufgabe reduzieren übernimmt die Verantwortung für das Platzieren der abgerufenen Daten in den Zielen (HDFS / HBase / Hive)

Sqoop verwendet auch verschiedene API-Konnektoren für die Verbindung mit mehreren Datenbanken. Sqoop bietet auch die Möglichkeit, benutzerdefinierte Connectors zu erstellen, um bestimmte Anforderungen zu erfüllen.

Sehen wir uns die folgenden Beispielbefehle für den Import und Export an

Ein Befehl zum Herstellen einer Verbindung zur MySQL-Datenbank zum Importieren von Daten aus der 'Log'-Tabelle

sqoop import –connect jdbc: mysql: // localhost / –username –password –table –m 1
sqoop import –connect jdbc: mysql: // localhost / mytestdb –username root –password admin123 –table log –m 1

Ein Befehl zum Exportieren von Daten aus HDFS in eine relationale Datenbank

sqoop export –connect jdbc: mysql: // localhost / sqoop_export –table export-dir / sqoop / emp_last / part-m-00000 –update-key id
sqoop export –connect jdbc: mysql: // localhost / sqoop_export –table log_table – export-dir / sqoop / data / foler1 / part-m-00000

5. Was ist Sqoop Metastore? Erkläre es?

Antworten:
Der Sqoop-Metastore ist ein in Sqoop verfügbares Tool, mit dem die Sqoop-Anwendung so konfiguriert wird, dass ein freigegebenes Repository in Form von Metadaten gehostet werden kann. Dieser Metastore kann verwendet werden, um die Jobs auszuführen und eine Anzahl von Benutzern basierend auf Benutzerrollen und -aktivitäten zu verwalten. Alle mehreren Benutzer können mehrere Aufgaben oder Vorgänge gleichzeitig ausführen, um die Aufgaben effizient auszuführen. Der Sqoop-Metastore wird standardmäßig als speicherinterne Darstellung implementiert. Wenn ein Job in Sqoop erstellt wird, wird die Jobdefinition im Metastore gespeichert und bei Bedarf mit Sqoop-Jobs aufgelistet.

6. Welche Dateiformate unterstützt Sqoop beim Importieren der Daten?

Antworten:
Sqoop verwendet zwei Dateiformate für den Datenimport. Dies sind: - Begrenztes Testdateiformat und Sequenzdateiformat.

Begrenztes Textdateiformat : Das begrenzte Textformat ist das Standarddateiformat für den Import. Mit dem Argument –as- textile können wir noch explizit angeben. Wenn Sie das Argument ebenfalls übergeben, werden die Trennzeichen zwischen Zeilen und Spalten festgelegt.

Sequence File Format : Dieses Dateiformat kann als binäres Dateiformat bezeichnet werden. Diese Art von Dateiformatdatensätzen wird in benutzerdefinierten datensatzspezifischen Datentypen gespeichert, die als Java-Klassen verfügbar gemacht werden.

Fahren wir mit den nächsten Fragen zum Sqoop-Interview fort.

7. Können wir mehrere Mapper in sqoop kontrollieren? Wenn ja, wie?

Antworten:
Ja, wir können die Anzahl der Mapper in Sqoop steuern, indem wir den Parameter "-num-mappers" im Befehl sqoop angeben. Dieser Parameter kann die Anzahl der Map-Tasks steuern. Dies ist nichts anderes als der Grad der Parallelität, der von sqoop verwendet wird. Die Anzahl wird anhand der Anforderung festgelegt.

Syntax: Verwenden Sie diese Flags, um die Anzahl der Mapper zu steuern: m, -num- mappers

Teil 2 - Fragen zu Sqoop-Vorstellungsgesprächen (Fortgeschrittene)

Werfen wir jetzt einen Blick auf die erweiterten Fragen zu Sqoop-Vorstellungsgesprächen.

8. Was ist Sqoop-Merge und wie wird es verwendet?

Antworten:
Sqoop Merge ist ein Tool, das zwei verschiedene Datasets kombiniert, die die einzige Version beibehalten, indem die Einträge in einer älteren Version eines Datasets mit neuen Dateien überschrieben werden, um es zur neuesten Version des Datasets zu machen. Während des Zusammenführens der beiden unterschiedlichen Datensätze wird eine Verflachung durchgeführt, wodurch die Daten verlustfrei und mit Effizienz und Sicherheit erhalten bleiben. Um diesen Vorgang auszuführen, wird der Befehl zum Zusammenführen der Taste wie "–merge-key" verwendet.

9. Was sind die Unterschiede zwischen Sqoop, Flume und Distcp?

Antworten:
Sowohl Distcp als auch Sqoop werden zum Übertragen der Daten verwendet. Sqoop wird zum Übertragen beliebiger Datentypen von einem Hadoop-Cluster auf einen anderen verwendet, wohingegen Sqoop Daten zwischen relationalen Datenbanken und Hadoop-Ökosystemen wie Hive, HDFS und HBase usw. überträgt. Beide Methoden verwenden jedoch denselben Ansatz zum Kopieren der Daten, das ist ziehen / übertragen.

Flume hat ein Tool für das Streaming der Protokolle in das Hadoop-Ökosystem verteilt, das der agentenbasierten Architektur folgt. Während Sqoop eine Connector-basierte Architektur ist.

Flume sammelt und aggregiert eine große Menge von Protokolldaten. Flume kann die Daten von einem anderen Ressourcentyp erfassen. Das Schema oder die strukturierten / unstrukturierten Daten werden nicht berücksichtigt. Flume kann alle Arten von Daten abrufen. Während Sqoop nur die relationalen Datenbankdaten importieren kann, ist das Schema für die Verarbeitung von sqoop obligatorisch. Im Allgemeinen ist der Gerinne die beste Option für das Verschieben von Massen-Workloads.

Fahren wir mit den nächsten Fragen zum Sqoop-Interview fort.

10. Welche Datenquellen werden von Apache Sqoop unterstützt?

Antworten:
Die verschiedenen Datenquellen aus verschiedenen Anwendungen, die von Apache Sqoop unterstützt werden, sind wie folgt:

  1. Bienenstock
  2. HBase
  3. Hadoop Distributed File System (HDFS)
  4. HCatalog
  5. Accumulo

11. Was sind die am häufigsten verwendeten Befehle / Funktionen in Sqoop?

Antworten:

Dies ist die erweiterte Frage zu Sqoop-Vorstellungsgesprächen, die in einem Interview gestellt wurde. Die folgenden grundlegenden Befehle werden in Sqoop verwendet:

Codegen -Codegen wird zum Generieren von Code für die Kommunikation mit Datenbankeinträgen verwendet.

Eval- Squoop Eval hilft bei der Ausführung von SQL-Beispielabfragen für die Datenbanken und stellt die Ergebnisse auf der Konsole bereit.

Hilfe -Hilfe listet die verfügbaren Befehle auf

Import -Import importiert die Tabelle in das Hadoop-Ökosystem

Export -Export wird zum Exportieren von HDFS-Daten in relationale Datenbanken verwendet.

Create- hive -table - Dieser Befehl ist nützlich, um Tabellendefinitionen in Hive zu importieren

Import-all-tables -Import-all-tables importiert die Tabellen, um relationale Datenbanken in HDFS zu erstellen.

List-database -It listet alle auf einem Server vorhandenen Datenbanken auf.

List-tables - Listet alle in einer Datenbank vorhandenen Tabellen auf.

Versionen - Es werden die Versionsinformationen angezeigt.

Funktionen - Paralleler Import / Export, Volllast, Inkrementelle Last, Volllast, Vergleich, Konnektoren für RDBMS-Datenbanken, Kerberos-Sicherheitsintegration, Laden von Daten direkt in HDFS (Hive / HBase)

12. Erklären Sie die Best Practices beim Importieren von Tabellen aus MySQL oder anderen Datenbanken mit Sqoop?

Antworten:
Beim Importieren der Tabellen aus MySQL sollten wir einige Dinge wie die Authentifizierung und Autorisierung des Zielservers und der Datenbanken beachten. Wir müssen sicherstellen, dass wir die erforderlichen Berechtigungen für die Datenbanken erteilt haben, auf die zugegriffen werden soll, und wir müssen auch sicherstellen, dass die Hostnamen aufgelöst werden, wenn wir eine Verbindung zu den Quell- und Zielhostnamen herstellen. Wenn wir nicht über die erforderliche Berechtigung verfügen, wird beim Herstellen einer Verbindung zur Datenbank eine Verbindungsfehlerausnahme angezeigt.

13. Wie können Sie die bereits exportierten Daten oder Zeilen aktualisieren?

Antworten:
Um die bereits exportierten Zeilen des Ziels zu aktualisieren, können wir den Parameter „–update-key“ verwenden. In dieser wird eine durch Kommas getrennte Spaltenliste verwendet, die eine Zeile eindeutig identifiziert, und alle diese Spalten werden in der WHERE-Klausel der generierten UPDATE-Abfrage verwendet. Der SET-Teil der Abfrage kümmert sich um alle anderen Tabellenspalten.

Fahren wir mit den nächsten Fragen zum Sqoop-Interview fort.

14. Wie konfiguriere und installiere ich den JDBC-Treiber in Apache Sqoop?

Antworten:
Die JDB-Treiber in Apache Sqoop können basierend auf dem Hadoop-Anbieter wie Cloudera oder Hortonworks konfiguriert werden, wobei die Konfiguration basierend auf dem Hadoop-Anbieter geringfügig variiert. Der JDBC in Cloudera kann so konfiguriert werden, dass ein Bibliotheksordner wie / var / lib / erstellt wird. Dies kann für jede Bibliothek eines Drittanbieters erfolgen, die gemäß den Anforderungen konfiguriert werden muss. Auf diese Weise kann jeder Datenbanktyp mithilfe seines JDBC-Treibers konfiguriert werden. Neben dem JDBC-Treiber benötigt Apache Sqoop einen Connector, um eine Verbindung zwischen verschiedenen relationalen Datenbanken herzustellen. Die Hauptkomponenten, die zum Herstellen einer Verbindung mit den Datenbanken erforderlich sind, werden über Driver und Connector des jeweiligen Datenbankanbieters bereitgestellt.

15. Was ist die Split-By-Klausel und wann verwenden wir sie?

Antworten:
Ein split-by-Parameter dient zum Aufteilen der Daten, die in mehrere parallele Tasks importiert werden sollen. Mit diesem Parameter können wir die Namen der Spalte angeben. Dies sind Spaltennamen, auf deren Grundlage sqoop die zu importierenden Daten in mehrere Blöcke aufteilt und die parallel ausgeführt werden. Dies ist eine der Techniken, um die Leistung in Sqoop zu optimieren.

Empfohlene Artikel

Dies war ein Leitfaden für die Liste der Fragen und Antworten zu Sqoop-Vorstellungsgesprächen, damit der Kandidat diese Fragen zu Sqoop-Vorstellungsgesprächen problemlos durchgreifen kann. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Hadoop vs Teradata - Was von Vorteil ist
  2. 13 Fragen zum Interview mit Amazing Database Testing
  3. Die 10 nützlichsten Fragen im Vorstellungsgespräch bei HBase
  4. 10 Most Awesome PHP Interview Fragen für erfahrene
  5. Kennen Sie die Top 5 nützliche DBA Interview Fragen