Filtern von Daten, die in Tabellen unter Impala gespeichert sind, unter Data Refinery

Verfeinern Sie die in Tabellen in „ Impala “ auf dem „ Hadoop “-Cluster gespeicherten Daten.

Voraussetzung

Stellen Sie eine Verbindung zum Cluster „ Hadoop “ her. Siehe „ Impala via Execution Engine for Hadoop “-Verbindung.

Einschränkungen

  • Die Quell- und Zielinstanz von „ Data Refinery “ sowie die Umgebung von „ Hadoop “ müssen auf dasselbe „ Hadoop “-System verweisen.

  • Sie müssen eine „ Hadoop “-Umgebung verwenden, um „ Data Refinery “-Jobs auf einem „ Hadoop “-Cluster auszuführen.

  • Unter Impala unterstützt Data Refinery nur Jobs, die in Tabellen mit Dateien im Parquet-Format schreiben.

  • Wenn Sie den Zieldatensatz überschreiben oder neu erstellen möchten, benötigen Sie write die Berechtigung (insbesondere die delete Berechtigung) für das Datenverzeichnis „ HDFS “ der Tabelle „ Impala “.

    Wenn beispielsweise das Datenverzeichnis „ HDFS “ der Tabelle „ Impala “ lautet /user/hive/warehouse/table_name und Sie keine delete Berechtigung für die Datendateien in diesem Verzeichnis haben, führen Sie diesen Befehl aus, um den Eigentümer zu ändern:

    hdfs dfs -chown -R new_owner:hive /user/hive/warehouse/table_name

  • Wenn Sie die Aktion „Tabelle ersetzen“ mit einer externen Tabelle als Ziel verwenden möchten, muss diese externe Tabelle leer sein.

Vorgehensweise

  1. Erstellen Sie einen verknüpften Datenbestand für die Quelle (Daten, die Sie aufbereiten möchten):

    1. Gehe zur Projektseite.
    2. Klicken Sie auf „Assets“ > „Asset importieren“ > „Verbundene Daten “.
    3. Klicken Sie auf „Quelle auswählen “.
    4. Wählen Sie die Verbindung „ Impala via Execution Engine for Hadoop “ aus. Navigieren Sie zu den gewünschten Daten und klicken Sie auf „Auswählen “.
    5. Geben Sie einen Namen und eine Beschreibung ein.
    6. Klicken Sie auf Erstellen. Das Asset wird auf der Seite „Assets“ des Projekts angezeigt.
  2. Wiederholen Sie Schritt 1, um ein verknüpftes Datenobjekt für die Zieldatei der Ausgabe des „ Data Refinery “-Ablaufs zu erstellen.

  3. Erstellen Sie einen „ Data Refinery “-Ablauf:

    1. Klicken Sie auf das verknüpfte Datenobjekt für die Quelle, die Sie in Schritt 1 erstellt haben.
    2. Klicken Sie auf „Daten vorbereiten“, um „ Data Refinery “ zu öffnen.
    3. Wende Operationen an, um die Daten zu verfeinern.
  4. Ändern Sie den Speicherort für die Ausgabedatei:

    1. Klicken Sie auf das Einstellungen für Ablauf Symbol „Flow-Einstellungen“ in der Symbolleiste. Wechseln Sie zur Registerkarte „Zieldatensatz “ und klicken Sie auf „Ziel auswählen “.
    2. Klicken Sie auf „Datenobjekt“, wählen Sie dann das verbundene Datenobjekt für die Z ieldatei aus und klicken Sie auf „Weiter “.
    3. Wählen Sie im Fenster „Ziel und Formatierungseigenschaften auswählen “ einen Schreibmodus und eine Tabellenaktion aus.
    4. Klicken Sie auf „Speichern“ und anschließend auf „Übernehmen “.
  5. Erstellen Sie einen Job, der den „ Data Refinery “-Flow in der „ Hadoop “-Umgebung ausführt:

    1. Klicken Sie in der Symbolleiste von „ Data Refinery “ auf das Symbol Symbol „Jobs“„Jobs“ und wählen Sie dann „Speichern und Job erstellen “.
    2. Geben Sie einen Namen und eine Beschreibung ein. Wählen Sie die Umgebung „ Hadoop “ aus.
    3. Optional: Fügen Sie einen einmaligen oder wiederkehrenden Termin hinzu.
    4. Erstellen Sie den Auftrag und führen Sie ihn sofort aus, oder erstellen Sie den Auftrag und führen Sie ihn später aus.
  6. Nachdem der Auftrag abgeschlossen ist, synchronisieren Sie die Metadaten von „ Impala “ erneut. Stellen Sie auf dem „ Hadoop “-Cluster eine Verbindung zur Impala-Shell der Datenbank her und führen Sie folgenden Befehl aus:

    REFRESH table_name

Bekannte Probleme

Fehlerbehebung in „ Hadoop “-Umgebungen

Weitere Informationen