Mehr

Wie lädt man geografische Daten in Hadoop (Hive) und kann dann räumliche Funktionen darauf aufrufen?

Wie lädt man geografische Daten in Hadoop (Hive) und kann dann räumliche Funktionen darauf aufrufen?


Ich muss einige geografische Daten in Hadoop (Hive) laden und dann einige räumliche Funktionen mit Hive aufrufen.

Mein Eingabedatenformat sind ESRI-Shapefiles (könnte aber ein anderes Format sein, das ich bei Bedarf umwandeln könnte).

Ich weiß, dass ESRI ein sehr grundlegendes Framework für die Arbeit mit Geodaten in Hadoop über Hive, GIS Tools for Hadoop by ESRI, veröffentlicht hat, aber anscheinend brauche ich meine Daten in ESRI JSON und habe keine ESRI-Tools zum Konvertieren meine Daten in dieses Format.

Gibt es eine alternative Möglichkeit, Geodaten in Hadoop zu laden oder meine ESRI-Shapefiles in ESRI JSON zu konvertieren?


ST_Geometry for Hive in den GIS Tools for Hadoop kann Daten aus verschiedenen Formaten laden: Well-Known Text (WKT), Well-Known Binary (WKB), GeoJSON, Esri JSON und Koordinaten als Zahlenliste. Weitere Informationen zu den Konstruktorfunktionen finden Sie in der Dokumentation.

Was Shapefile angeht, kann die Java-Bibliothek zum Lesen von Shapefiles von Mansour Raad nützlich sein.


Mit den Funktionen von GDAL ogr2ogr (http://www.gdal.org/) können Sie Shapefiles in eine beliebige Anzahl von Formaten konvertieren, einschließlich JSON und WKT. Ich habe es nur verwendet, um direkt zu SQL Server Spatial zu wechseln, daher kenne ich die genauen Befehle nicht. Sie können direkt zu GDAL gehen: oder Sie können QGIS (http://www.qgis.org/en/site/) ausprobieren, um eine ArcMap-ähnliche Benutzeroberfläche zu erhalten, mit der Sie möglicherweise direkt arbeiten können, aber ich habe gefunden dass ich die besten Konvertierungsergebnisse erziele, wenn ich die Shell von OSGeo4W (https://trac.osgeo.org/osgeo4w/) zum Schreiben von Befehlen verwende.

Es kann von Bedeutung sein, welche Art von Formen Sie verwenden. Ich habe Polygone erfolgreich mit ogr2ogr direkt in SQL importiert, aber die Verwendung von QGIS zum Konvertieren in WKT oder JSON kann komplexe Polygone oft abschneiden.


HDFS ist der primäre verteilte Speicher, der von Hadoop-Anwendungen verwendet wird. Ein HDFS-Cluster besteht hauptsächlich aus einem NameNode, der die Metadaten des Dateisystems verwaltet, und DataNodes, die die eigentlichen Daten speichern. Das HDFS Architecture Guide beschreibt HDFS im Detail. Dieses Benutzerhandbuch befasst sich hauptsächlich mit der Interaktion von Benutzern und Administratoren mit HDFS-Clustern. Das HDFS-Architekturdiagramm zeigt grundlegende Interaktionen zwischen NameNode, den DataNodes und den Clients. Clients kontaktieren NameNode für Dateimetadaten oder Dateiänderungen und führen die eigentliche Datei-I/O direkt mit den DataNodes durch.

Im Folgenden sind einige der hervorstechenden Funktionen aufgeführt, die für viele Benutzer von Interesse sein könnten.

Hadoop, einschließlich HDFS, eignet sich gut für verteilte Speicherung und verteilte Verarbeitung mit handelsüblicher Hardware. Es ist fehlertolerant, skalierbar und extrem einfach zu erweitern. MapReduce, bekannt für seine Einfachheit und Anwendbarkeit für eine große Anzahl verteilter Anwendungen, ist ein wesentlicher Bestandteil von Hadoop.

HDFS ist hochgradig konfigurierbar mit einer Standardkonfiguration, die für viele Installationen gut geeignet ist. Meistens muss die Konfiguration nur für sehr große Cluster angepasst werden.

Hadoop ist in Java geschrieben und wird auf allen wichtigen Plattformen unterstützt.

Hadoop unterstützt Shell-ähnliche Befehle, um direkt mit HDFS zu interagieren.

NameNode und Datanodes verfügen über integrierte Webserver, die es einfach machen, den aktuellen Status des Clusters zu überprüfen.

Neue Funktionen und Verbesserungen werden regelmäßig in HDFS implementiert. Im Folgenden finden Sie eine Teilmenge der nützlichen Funktionen in HDFS:

Dateiberechtigungen und Authentifizierung.

Rack-Awareness: um den physischen Standort eines Knotens bei der Planung von Aufgaben und der Zuweisung von Speicherplatz zu berücksichtigen.

Abgesicherter Modus: ein Verwaltungsmodus für die Wartung.

fsck: ein Dienstprogramm zur Diagnose des Zustands des Dateisystems, um fehlende Dateien oder Blöcke zu finden.

geholtt: ein Dienstprogramm zum Abrufen von DelegationToken und Speichern in einer Datei auf dem lokalen System.

Balancer: Tool zum Ausgleichen des Clusters, wenn die Daten ungleichmäßig auf DataNodes verteilt sind.

Upgrade und Rollback: Nach einem Software-Upgrade ist es möglich, bei unerwarteten Problemen vor dem Upgrade in den HDFS-Status zurückzukehren.

Sekundärer NameNode: führt regelmäßige Checkpoints des Namespaces durch und hilft dabei, die Größe der Datei, die das Protokoll der HDFS-Änderungen enthält, am NameNode innerhalb bestimmter Grenzen zu halten.

Checkpoint-Knoten: führt regelmäßige Checkpoints des Namespace durch und hilft, die Größe des Protokolls zu minimieren, das im NameNode gespeichert ist und Änderungen am HDFS enthält. Ersetzt die zuvor vom Secondary NameNode ausgefüllte Rolle, ist jedoch noch nicht kampferprobt. Der NameNode erlaubt mehrere Checkpoint-Knoten gleichzeitig, solange keine Backup-Knoten beim System registriert sind.

Backup-Knoten: Eine Erweiterung des Checkpoint-Knotens. Zusätzlich zum Checkpointing empfängt es auch einen Bearbeitungsstrom vom NameNode und verwaltet seine eigene speicherinterne Kopie des Namespace, die immer synchron mit dem Status des aktiven NameNode-Namespace ist. Es kann nur ein Backup-Knoten gleichzeitig beim NameNode registriert sein.


GIS-Methoden und -Techniken

1.11.2.2 Funke

Apache Funke ( Abb. 3 ) ist ein In-Memory-Computing-Framework zur Verarbeitung großer Datenmengen.

Abb. 3 . Apache Spark-Ökosystem.

Spark nutzt eine große Speichermenge, indem es eine Struktur namens Resilient Distributed Dataset (RDD) erstellt. RDD ermöglicht die transparente Speicherung von Daten im Arbeitsspeicher und kann die gespeicherten Daten bei Bedarf auf der Festplatte speichern. Im Vergleich zu Hadoop hat Spark eine deutliche Verbesserung der Rechenleistung erzielt, indem häufiges Lesen und Schreiben auf die Festplatte vermieden wurde. Ein weiterer Vorteil von Spark besteht darin, dass der Status der einer Rechenaufgabe zugewiesenen Rechenressourcen bis zum Abschluss der Aufgabe beibehalten wird, was sich von Hadoop unterscheidet, wo Ressourcen häufig sogar für dieselbe Aufgabe bereitgestellt und freigegeben werden. Bei der räumlichen Datenanalyse, bei der eine Kette mehrerer Analysen erforderlich ist, hat Spark aufgrund der unterschiedlichen Rechenressourcen und Prozessmechanismen einen offensichtlichen Vorteil gegenüber Hadoop. Auch bei räumlichen Analysen mit Iterationen kann Spark Hadoop deutlich übertreffen. Eine weitere Stärke von Spark besteht darin, dass das Framework Unterstützung für Streaming-Prozesse, maschinelles Lernen und Grafikverarbeitung enthält. Daher ist Spark für räumliche Echtzeitanalysen eine ideale Plattform. Darüber hinaus verfügt das Framework über Schnittstellen für mehrere Programmiersprachen wie Python und R.


2.3 Oracle Big Data Spatial Hadoop Image Processing Framework für die Rasterdatenverarbeitung

Das Oracle Spatial Hadoop Image Processing Framework ermöglicht die Erstellung neuer kombinierter Images, die aus einer Reihe von Verarbeitungsphasen parallel mit den folgenden Funktionen resultieren:

HDFS-Bilderspeicher, bei dem jede Blockgrößenaufteilung als separates Bild gespeichert wird

Teilmengen- und benutzerdefinierte Operationen werden parallel mit dem MapReduce-Framework verarbeitet

Möglichkeit, auf transparente Weise benutzerdefinierte Verarbeitungsklassen hinzuzufügen, die parallel ausgeführt werden sollen

Schnelle Verarbeitung georeferenzierter Bilder

Unterstützung für GDAL-Formate, Bilder mit mehreren Bändern, DEMs (digitale Höhenmodelle), mehrere Pixeltiefen und SRIDs

Das Oracle Spatial Hadoop Image Processing Framework besteht aus zwei Modulen, einem Loader und einem Prozessor, die jeweils durch einen Hadoop-Job dargestellt werden, der auf verschiedenen Stufen in einem Cluster ausgeführt wird, wie im folgenden Diagramm dargestellt. Sie können die Bilder auch mit der Image Server-Webanwendung laden und verarbeiten.

Informationen zur Installation und Konfiguration finden Sie unter:

2.3.1 Image Loader

Der Image Loader ist ein Hadoop-Job, der ein bestimmtes Image oder eine Gruppe von Images in HDFS lädt.

Beim Importieren wird das Bild gekachelt und als HDFS-Block gespeichert.

GDAL wird verwendet, um das Bild zu kacheln.

Jede Kachel wird von einem anderen Mapper geladen, sodass das Lesen parallel und schneller erfolgt.

Jede Kachel enthält eine bestimmte Anzahl überlappender Bytes (Benutzereingabe), so dass der Deckbereich der Kachel die benachbarten Kacheln bildet.

Ein MapReduce-Job verwendet einen Mapper, um die Informationen für jede Kachel zu laden. Es gibt 'n' Anzahl von Mappern, abhängig von der Anzahl der Kacheln, der Bildauflösung und der Blockgröße.

Eine einzelne Reduzierphase pro Bild fasst alle von den Mappern geladenen Informationen zusammen und speichert die Bilder in einem speziellen .ohif-Format, das Auflösung, Bänder, Offsets und Bilddaten enthält. Auf diese Weise ist der Datei-Offset, der jede Kachel enthält, und die Knotenposition bekannt.

Jede Kachel enthält Informationen für jedes Band. Dies ist hilfreich, wenn nur wenige Kacheln verarbeitet werden müssen, dann werden nur die entsprechenden Blöcke geladen.

Das folgende Diagramm stellt einen Image Loader-Prozess dar:


Beschreibung der Illustration image_loader_job.png

2.3.2 Bildprozessor

Der Bildprozessor ist ein Hadoop-Job, der die zu verarbeitenden Kacheln basierend auf der Benutzereingabe filtert und die Verarbeitung parallel durchführt, um ein neues Bild zu erstellen.

Verarbeitet bestimmte Kacheln des vom Benutzer identifizierten Bildes. Sie können eine, keine oder mehrere Verarbeitungsklassen identifizieren. Nach der Ausführung von Verarbeitungsklassen wird eine Mosaikoperation durchgeführt, um die Pixel an das vom Benutzer angeforderte endgültige Ausgabeformat anzupassen.

Ein Mapper lädt die Daten, die einer Kachel entsprechen, und bewahrt die Datenlokalität.

Sobald die Daten geladen sind, filtert der Mapper die vom Benutzer angeforderten Bänder.

Gefilterte Informationen werden verarbeitet und in der Reduktionsphase an jeden Mapper gesendet, in der Bytes zusammengesetzt und ein fertig verarbeitetes Bild je nach Benutzeranforderung in HDFS oder einem regulären Dateisystem gespeichert wird.

Das folgende Diagramm stellt einen Bildprozessor-Job dar:


Beschreibung der Illustration image_processor_job.png

2.3.3 Bildserver

Der Image Server ist eine Webanwendung, die es Ihnen ermöglicht, Bilder aus verschiedenen und unterschiedlichen Quellen, insbesondere aus dem Hadoop File System (HDFS), zu laden und zu verarbeiten. Dieser Oracle Image Server hat zwei Hauptanwendungen:

Rasterbildverarbeitung, um Kataloge aus den Quellbildern zu erstellen und zu einer einzigen Einheit zu verarbeiten. Sie können auch die Miniaturansichten der Bilder anzeigen.

Hadoop-Konsolenkonfiguration, sowohl Server als auch Konsole. Es stellt eine Verbindung zum Hadoop-Cluster her, um Bilder zur weiteren Verarbeitung in HDFS zu laden.


Avro-Daten in eine neue Tabelle laden

Sie können Avro-Daten wie folgt in eine neue Tabelle laden:

  • Verwenden der Cloud Console.
  • Verwenden des Befehls bq load im Befehlszeilentool bq.
  • Aufrufen der API-Methode jobs.insert und Konfigurieren eines Ladejobs.
  • Verwenden der Clientbibliotheken.

So laden Sie Avro-Daten aus Cloud Storage in eine neue BigQuery-Tabelle:

Konsole

Öffnen Sie in der Cloud Console die BigQuery-Seite.

Im Forscher Panel, erweitern Sie Ihr Projekt und wählen Sie einen Datensatz aus.

Erweitern Sie das more_vert Aktionen Option und klicken Sie Offen.

Klicken Sie im Detailbereich auf Tabelle erstellen add_box .

Auf der Tabelle erstellen Seite, in der Quelle Sektion:

Für Tabelle erstellen aus, auswählen Google Cloud-Speicher.

Navigieren Sie im Quellfeld zum Cloud Storage-URI oder geben Sie ihn ein. Beachten Sie, dass Sie nicht mehrere URIs in die Cloud Console aufnehmen können, Platzhalter jedoch unterstützt werden. Der Cloud Storage-Bucket muss sich am selben Speicherort wie das Dataset befinden, das die von Ihnen erstellte Tabelle enthält.

Für Datei Format, auswählen Avro.

Auf der Tabelle erstellen Seite, in der Ziel Sektion:

Für Datensatzname, wählen Sie den entsprechenden Datensatz aus.

Überprüfe das Tischtyp ist eingestellt auf Native Tabelle.

Im Tabellenname Geben Sie im Feld den Namen der Tabelle ein, die Sie in BigQuery erstellen.

Im Schema Abschnitt ist keine Aktion erforderlich. Das Schema ist in Avro-Dateien selbstbeschrieben.

(Optional) Um die Tabelle zu partitionieren, wählen Sie Ihre Optionen im Partitions- und Clustereinstellungen. Weitere Informationen finden Sie unter Erstellen von partitionierten Tabellen.

(Optional) Für Partitionierungsfilter, drücke den Partitionsfilter erforderlich , damit Benutzer eine WHERE-Klausel einfügen müssen, die die abzufragenden Partitionen angibt. Das Erfordernis eines Partitionsfilters kann die Kosten senken und die Leistung verbessern. Weitere Informationen finden Sie unter Abfragen von partitionierten Tabellen. Diese Option ist nicht verfügbar, wenn Keine Partitionierung ist ausgewählt.

(Optional) Um die Tabelle zu gruppieren, im Cluster-Reihenfolge Geben Sie zwischen einem und vier Feldnamen ein.

(Optional) Klicken Sie auf Erweiterte Optionen.

  • Für Schreibpräferenz, verlassen Schreiben wenn leer ausgewählt. Diese Option erstellt eine neue Tabelle und lädt Ihre Daten hinein.
  • Für Unbekannte Werte, verlassen Unbekannte Werte ignorieren gelöscht. Diese Option gilt nur für CSV- und JSON-Dateien.
  • Für Verschlüsselung, klicken Vom Kunden verwalteter Schlüssel um einen Cloud Key Management Service-Schlüssel zu verwenden. Wenn du das verlässt Von Google verwalteter Schlüssel -Einstellung verschlüsselt BigQuery die ruhenden Daten.

Klicken Tabelle erstellen.

Nachdem die Tabelle erstellt wurde, können Sie den Ablauf, die Beschreibung und die Labels der Tabelle aktualisieren, aber Sie können keinen Partitionsablauf hinzufügen, nachdem eine Tabelle mit der Cloud Console erstellt wurde. Weitere Informationen finden Sie unter Verwalten von Tabellen.

Verwenden Sie den Befehl bq load, geben Sie AVRO mit dem Flag --source_format an und fügen Sie einen Cloud Storage-URI hinzu. Sie können einen einzelnen URI, eine durch Kommas getrennte Liste von URIs oder einen URI mit einem Platzhalter einschließen.

(Optional) Geben Sie das Flag --location an und legen Sie den Wert auf Ihren Standort fest.

Andere optionale Flags sind:

  • --time_partitioning_type : Aktiviert die zeitbasierte Partitionierung einer Tabelle und legt den Partitionstyp fest. Mögliche Werte sind HOUR , DAY , MONTH und YEAR . Dieses Flag ist optional, wenn Sie eine Tabelle erstellen, die nach einer DATE-, DATETIME- oder TIMESTAMP-Spalte partitioniert ist. Der Standardpartitionstyp für die zeitbasierte Partitionierung ist DAY .
  • --time_partitioning_expiration : Eine Ganzzahl, die (in Sekunden) angibt, wann eine zeitbasierte Partition gelöscht werden soll. Die Ablaufzeit ergibt sich aus dem UTC-Datum der Partition plus dem ganzzahligen Wert.
  • --time_partitioning_field : Die Spalte DATE oder TIMESTAMP, die zum Erstellen einer partitionierten Tabelle verwendet wird. Wenn die zeitbasierte Partitionierung ohne diesen Wert aktiviert ist, wird eine nach Aufnahmezeit partitionierte Tabelle erstellt.
  • --require_partition_filter : Wenn diese Option aktiviert ist, müssen Benutzer eine WHERE-Klausel einfügen, die die abzufragenden Partitionen angibt. Das Erfordernis eines Partitionsfilters kann die Kosten senken und die Leistung verbessern. Weitere Informationen finden Sie unter Abfragen von partitionierten Tabellen.
  • --clustering_fields : Eine durch Kommas getrennte Liste von bis zu vier Spaltennamen, die verwendet wird, um eine gruppierte Tabelle zu erstellen.

--destination_kms_key : Der Cloud KMS-Schlüssel zur Verschlüsselung der Tabellendaten.

Weitere Informationen zu partitionierten Tabellen finden Sie unter:

Weitere Informationen zu geclusterten Tabellen finden Sie unter:

Weitere Informationen zur Tabellenverschlüsselung finden Sie unter:

Geben Sie den folgenden Befehl ein, um Avro-Daten in BigQuery zu laden:

  • Standort ist Ihr Standort. Das Flag --location ist optional. Wenn Sie beispielsweise BigQuery in der Region Tokio verwenden, können Sie den Wert des Flags auf asia-northeast1 setzen. Sie können einen Standardwert für den Speicherort mithilfe der .bigqueryrc-Datei festlegen.
  • Format ist AVRO.
  • dataset ist ein vorhandenes Dataset.
  • table ist der Name der Tabelle, in die Sie Daten laden.
  • path_to_source ist ein vollständig qualifizierter Cloud Storage-URI oder eine durch Kommas getrennte Liste von URIs. Wildcards werden ebenfalls unterstützt.

Der folgende Befehl lädt Daten von gs://mybucket/mydata.avro in eine Tabelle namens mytable in mydataset .

Der folgende Befehl lädt Daten von gs://mybucket/mydata.avro in eine nach Aufnahmezeit partitionierte Tabelle namens mytable in mydataset .

Der folgende Befehl lädt Daten von gs://mybucket/mydata.avro in eine partitionierte Tabelle namens mytable in mydataset . Die Tabelle ist nach der Spalte mytimestamp partitioniert.

Der folgende Befehl lädt Daten aus mehreren Dateien in gs://mybucket/ in eine Tabelle namens mytable in mydataset . Der Cloud Storage-URI verwendet einen Platzhalter.

Der folgende Befehl lädt Daten aus mehreren Dateien in gs://mybucket/ in eine Tabelle namens mytable in mydataset . Der Befehl enthält eine durch Kommas getrennte Liste von Cloud Storage-URIs mit Platzhaltern.

Erstellen Sie einen Ladejob, der auf die Quelldaten in Cloud Storage verweist.

(Optional) Geben Sie Ihren Standort in der Standorteigenschaft im Abschnitt jobReference der Jobressource an.

Die Eigenschaft der Quell-URIs muss vollständig qualifiziert sein und das Format gs:// Bucket/Objekt haben. Jeder URI kann ein '*'Platzhalterzeichen enthalten.

Geben Sie das Avro-Datenformat an, indem Sie die sourceFormat-Eigenschaft auf AVRO festlegen.

Um den Jobstatus zu überprüfen, rufen Sie jobs.get( job_id *) auf, wobei job_id die ID des Jobs ist, die von der ursprünglichen Anforderung zurückgegeben wurde.

  • Wenn status.state = DONE ist, wurde der Job erfolgreich abgeschlossen.
  • Wenn die Eigenschaft status.errorResult vorhanden ist, ist die Anforderung fehlgeschlagen, und dieses Objekt enthält Informationen, die beschreiben, was schief gelaufen ist. Wenn eine Anforderung fehlschlägt, wird keine Tabelle erstellt und keine Daten geladen.
  • Wenn status.errorResult nicht vorhanden ist, wurde der Job erfolgreich abgeschlossen, obwohl möglicherweise einige nicht schwerwiegende Fehler aufgetreten sind, z. B. Probleme beim Importieren einiger Zeilen. Nicht schwerwiegende Fehler werden in der Eigenschaft status.errors des zurückgegebenen Jobobjekts aufgelistet.

Ladejobs sind atomar und konsistent, wenn ein Ladejob fehlschlägt, keine Daten verfügbar sind und wenn ein Ladejob erfolgreich ist, sind alle Daten verfügbar.

Generieren Sie als Best Practice eine eindeutige ID und übergeben Sie diese als jobReference.jobId, wenn Sie jobs.insert aufrufen, um einen Ladejob zu erstellen. Dieser Ansatz ist robuster gegenüber Netzwerkfehlern, da der Client die bekannte Job-ID abfragen oder erneut versuchen kann.

Der Aufruf von jobs.insert für eine bestimmte Job-ID ist idempotent. Sie können es mit derselben Job-ID so oft wiederholen, wie Sie möchten, und höchstens einer dieser Vorgänge wird erfolgreich sein.

Node.js

Bevor Sie dieses Beispiel ausprobieren, befolgen Sie die Anweisungen zur Einrichtung von Node.js im BigQuery-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der BigQuery Node.js API-Referenzdokumentation.

Python

Bevor Sie dieses Beispiel ausprobieren, befolgen Sie die Anweisungen zur Python-Einrichtung im BigQuery-Schnellstart mit Clientbibliotheken. Weitere Informationen finden Sie in der BigQuery Python API-Referenzdokumentation.


Verschachtelte und wiederholte JSON-Daten laden

BigQuery unterstützt das Laden verschachtelter und wiederholter Daten aus Quellformaten, die objektbasierte Schemata unterstützen, wie JSON, Avro, ORC, Parquet, Firestore und Datastore.

In jeder Zeile muss ein JSON-Objekt erscheinen, einschließlich aller verschachtelten/wiederholten Felder.

Das folgende Beispiel zeigt verschachtelte/wiederholte Beispieldaten. Diese Tabelle enthält Informationen über Personen. Es besteht aus folgenden Feldern:

  • Ich würde
  • Vorname
  • Familienname, Nachname
  • Geburtsdatum (Geburtsdatum)
  • Adressen (ein verschachteltes und sich wiederholendes Feld)
    • adressen.status (aktuell oder früher)
    • Adressen.Adresse
    • adressen.stadt
    • Adressen.Staat
    • adressen.zip
    • address.numberOfYears (Jahre an der Adresse)

    Die JSON-Datendatei würde wie folgt aussehen. Beachten Sie, dass das Adressfeld ein Array von Werten enthält (gekennzeichnet durch [ ] ).

    Das Schema für diese Tabelle würde wie folgt aussehen:

    Informationen zum Angeben eines verschachtelten und wiederholten Schemas finden Sie unter Angeben von verschachtelten und wiederholten Feldern.


    2.4 Laden eines Images in Hadoop mit dem Image Loader

    Der erste Schritt zum Verarbeiten von Bildern mit dem Oracle Spatial and Graph Hadoop Image Processing Framework besteht darin, die Bilder tatsächlich in HDFS zu speichern, gefolgt von der Trennung der Bilder in intelligente Kacheln. Dadurch kann der Verarbeitungsauftrag für jede Kachel unabhängig voneinander arbeiten. Mit dem Image Loader können Sie ein einzelnes Image oder eine Sammlung davon parallel in HDFS importieren, was die Ladezeit verkürzt.

    Der Image Loader importiert Bilder aus einem Dateisystem in HDFS, wobei jeder Block Daten für alle Bänder des Bildes enthält, so dass, wenn eine weitere Verarbeitung an bestimmten Positionen erforderlich ist, die Informationen auf einem einzigen Knoten verarbeitet werden können.

    2.4.1 Bildladejob

    Der Bildladejob hat sein benutzerdefiniertes Eingabeformat, das das Bild in verwandte Bildteilungen aufteilt. Die Aufteilungen werden basierend auf einem Algorithmus berechnet, der quadratische Blöcke des Bildes liest, die einen definierten Bereich abdecken, der bestimmt wird durch

    area = ((blockSize - Metadatenbytes) / Anzahl der Bänder) / Bytes pro Pixel.

    Für diejenigen Stücke, die nicht die vollständige Blockgröße verwenden, werden die verbleibenden Bytes mit Nullen aufgefüllt.

    Splits werden verschiedenen Mappern zugewiesen, wobei jede zugewiesene Kachel mithilfe von GDAL basierend auf den ImageSplit-Informationen gelesen wird. Als Ergebnis wird eine ImageDataWritable-Instanz erstellt und im Kontext gespeichert.

    Die in der ImageDataWritable-Instanz festgelegten Metadaten werden von den Verarbeitungsklassen verwendet, um das gekachelte Bild einzurichten, um es zu bearbeiten und zu verarbeiten. Da die Quellbilder von mehreren Mappern gelesen werden, erfolgt das Laden parallel und schneller.

    Nachdem die Mapper das Lesen beendet haben, übernimmt der Reducer die Kacheln aus dem Kontext und fügt sie zusammen, um die Datei in HDFS zu speichern. Zum Rücklesen des Bildes ist ein spezieller Lesevorgang erforderlich.

    2.4.2 Eingabeparameter

    Die folgenden Eingabeparameter werden für den Hadoop-Befehl bereitgestellt:

    • SOURCE_IMGS_PATH ist ein Pfad zu den Quellbildern oder -ordnern. Verwenden Sie für mehrere Eingaben ein Komma-Trennzeichen. Dieser Pfad muss für alle Knoten im Cluster über NFS zugänglich sein.
    • HDFS_OUTPUT_FOLDER ist der HDFS-Ausgabeordner, in dem die geladenen Bilder gespeichert werden.
    • OVERLAPPING_PIXELS ist eine optionale Anzahl überlappender Pixel an den Rändern jeder Kachel, wenn dieser Parameter nicht angegeben wird, werden standardmäßig zwei überlappende Pixel berücksichtigt.
    • GDAL_LIB_PATH ist der Pfad, in dem sich GDAL-Bibliotheken befinden.
    • GDAL_DATA_PATH ist der Pfad, in dem sich der GDAL-Datenordner befindet. Dieser Pfad muss für alle Knoten im Cluster über NFS zugänglich sein.
    • THUMBNAIL_PATH ist ein optionaler Pfad zum Speichern einer Miniaturansicht der geladenen Bilder. Dieser Pfad muss über NFS für alle Knoten im Cluster zugänglich sein und muss über Schreibzugriffsberechtigungen für Garnbenutzer verfügen.
    • -expand steuert, ob der HDFS-Pfad des geladenen Rasters den Quellpfad einschließlich aller Verzeichnisse erweitert. Wenn Sie dies auf false setzen, wird die .ohif-Datei direkt im Ausgabeverzeichnis (mit der Option -o angegeben) gespeichert, ohne den Pfad des Verzeichnisses in das Raster einzuschließen.
    • -extractLogs steuert, ob die Protokolle der ausgeführten Anwendung in das temporäre Systemverzeichnis extrahiert werden sollen. Standardmäßig ist es nicht aktiviert. Die Extraktion umfasst keine Protokolle, die nicht Teil von Oracle Framework-Klassen sind.
    • -logFilter <LINES_TO_INCLUDE_IN_LOG> ist ein durch Kommas getrennter String, der alle Muster auflistet, die in die extrahierten Protokolle aufgenommen werden sollen, beispielsweise um benutzerdefinierte Verarbeitungsklassenpakete einzuschließen.

    Der folgende Befehl lädt beispielsweise alle georeferenzierten Bilder unter den Bilderordner und fügt an jedem möglichen Rand eine Überlappung von 10 Pixeln hinzu. Der HDFS-Ausgabeordner ist ohiftest und Miniaturansichten des geladenen Bildes werden im Ordner processtest gespeichert.

    Standardmäßig sind die Mapper und Reducer so konfiguriert, dass sie 2 GB JVM erhalten, aber Benutzer können diese Einstellungen oder andere Jobkonfigurationseigenschaften überschreiben, indem sie eine imagejob.prop-Eigenschaftendatei im selben Ordner hinzufügen, von dem aus der Befehl ausgeführt wird. Diese Eigenschaftendatei kann alle Konfigurationseigenschaften auflisten, die Sie überschreiben möchten. Beispielsweise,

    Der Java-Heapspeicher ( java.opts -Eigenschaften) muss gleich oder kleiner als der Gesamtspeicher sein, der Mappern und Reducern zugewiesen ist ( mapreduce.map.memory und mapreduce.reduce.memory ). Wenn Sie also den Java-Heap-Speicher vergrößern, müssen Sie möglicherweise auch den Speicher für Mapper und Reducer erhöhen.

    2.4.3 Ausgangsparameter

    Der Reducer erzeugt zwei Ausgabedateien pro Eingabebild. Die erste ist die .ohif-Datei, die alle Kacheln für das Quellbild konzentriert. Jede Kachel kann als separate Instanz von einem Verarbeitungs-Mapper verarbeitet werden. Intern wird jede Kachel als HDFS-Block gespeichert, Blöcke befinden sich in mehreren Nodes, ein Node kann einen oder mehrere Blöcke einer bestimmten .ohif-Datei enthalten. Die .ohif-Datei wird im benutzerdefinierten Ordner mit dem Flag -out unter /user/<USER_EXECUTING_JOB>/OUT_FOLDER/<PARENT_DIRECTORIES_OF_SOURCE_RASTER> gespeichert, wenn das Flag &ndashexpand nicht verwendet wurde. Andernfalls befindet sich die .ohif-Datei unter /user/<USER_EXECUTING_JOB>/OUT_FOLDER/ und die Datei kann als original_filename.ohif identifiziert werden.

    Die zweite Ausgabe ist eine zugehörige Metadatendatei, die alle Teile des Bildes und die Koordinaten auflistet, die jeder abdeckt. Die Datei befindet sich in HDFS unter dem Metadatenspeicherort, und ihr Name wird mithilfe des Namens der ohif-Datei hashgeneriert. Diese Datei ist nur für den internen Gebrauch von Oracle bestimmt und listet wichtige Metadaten des Quell-Rasters auf. Einige Beispielzeilen aus einer Metadatendatei:

    Wenn das Flag -thumbnail angegeben wurde, wird eine Miniaturansicht des Quellbilds im zugehörigen Ordner gespeichert. Dies ist eine Möglichkeit, eine Übersetzung der .ohif-Datei zu visualisieren. Auf Jobausführungsprotokolle kann mit dem Befehl Garn logs -applicationId <applicationId> zugegriffen werden.


    101 Big-Data-Begriffe: Das Big-Data-Glossar

    Jeder Bereich hat seine eigene Terminologie und daher gibt es eine Reihe von Big-Data-Begriffen, die Sie kennen sollten, wenn Sie eine Karriere in Big Data beginnen. Sobald Sie sich mit diesen Big-Data-Begriffen und -Definitionen vertraut gemacht haben, sind Sie bereit, sie im Detail zu erlernen. In diesem Artikel definieren wir 101 Big Data-Begriffe, die Sie kennen sollten, um eine Karriere im Bereich Big Data zu beginnen.

    EIN

    1. Algorithmus

    In der Informatik und Mathematik ist ein Algorithmus eine effektive kategoriale Spezifikation, wie ein komplexes Problem gelöst und eine Datenanalyse durchgeführt wird. Es besteht aus mehreren Schritten, um Operationen auf Daten anzuwenden, um ein bestimmtes Problem zu lösen.

    2. Künstliche Intelligenz (KI)

    Der populäre Big Data-Begriff Künstliche Intelligenz ist die Intelligenz, die von Maschinen demonstriert wird. KI ist die Entwicklung von Computersystemen zur Ausführung von Aufgaben, die normalerweise mit menschlicher Intelligenz ausgestattet sind, wie Spracherkennung, visuelle Wahrnehmung, Entscheidungsfindung und Sprachübersetzer usw.

    3. Automatische Identifizierung und Datenerfassung (AIDC)

    Automatic Identification and Data Capture (AIDC) ist der Big-Data-Begriff, der sich auf eine Methode bezieht, Datenobjekte durch einen Computeralgorithmus automatisch zu identifizieren und zu sammeln und sie dann im Computer zu speichern. Zum Beispiel umfassen Radiofrequenz-Identifikation, Strichcodes, Biometrie, optische Zeichenerkennung, Magnetstreifen alle Algorithmen zur Identifizierung von erfassten Datenobjekten.

    4. Avro

    Avro ist ein Framework für die Datenserialisierung und ein Remote-Prozeduraufruf, der für das Hadoop-Projekt entwickelt wurde. Es verwendet JSON, um Protokolle und Datentypen zu definieren und dann Daten in binärer Form zu serialisieren. Avro bietet beides

    • Serialisierungsformat für persistente Daten
    • Drahtformat für die Kommunikation zwischen Hadoop-Knoten und von Kundenprogrammen zu Hadoop-Diensten.

    B

    5. Verhaltensanalyse

    Verhaltensanalyse ist ein neuer Fortschritt in der Geschäftsanalyse, der neue Einblicke in das Kundenverhalten auf E-Commerce-Plattformen, Web-/Mobilanwendungen, Online-Spielen usw. bietet. Sie ermöglicht es den Vermarktern, den richtigen Kunden zur richtigen Zeit die richtigen Angebote zu unterbreiten.

    6. Business Intelligence

    Business Intelligence ist eine Reihe von Tools und Methoden, die für das Unternehmen relevante Informationen analysieren, verwalten und bereitstellen können. Es umfasst Reporting-/Abfragetools und Dashboards wie in Analytics. BI-Technologien bieten frühere, aktuelle und zukünftige Ansichten des Geschäftsbetriebs.

    7. Big-Data-Wissenschaftler

    Big Data Scientist ist eine Person, die strukturierte und unstrukturierte Datenpunkte verwenden und ihre beeindruckenden Fähigkeiten in Statistik, Mathematik und Programmierung nutzen kann, um sie zu organisieren. Er setzt seine ganze analytische Kraft (kontextuelles Verständnis, Branchenkenntnis und Verständnis bestehender Annahmen) ein, um die versteckten Lösungen für die Geschäftsentwicklung aufzudecken.

    8. Biometrie

    Biometrie ist die James Bondish-Technologie, die mit Analytik verbunden ist, um Personen anhand einer oder mehrerer physischer Merkmale zu identifizieren. Die Biometrie-Technologie wird beispielsweise bei der Gesichtserkennung, Fingerabdruckerkennung, Iriserkennung usw. verwendet.

    C

    9. Kaskadierung

    Cascading ist die Schicht für die Abstraktion von Software, die die Abstraktion auf höherer Ebene für Apache Hadoop und Apache Flink bereitstellt. Es ist ein Open-Source-Framework, das unter der Apache-Lizenz verfügbar ist. Es wird verwendet, um Entwicklern die einfache und schnelle Verarbeitung komplexer Daten in JVM-basierten Sprachen wie Java, Clojure, Scala, Rubi usw.

    10. Analyse des Anrufdetaildatensatzes (CDR)

    CDR enthält Metadaten, d. h. Daten über Daten, die ein Telekommunikationsunternehmen über Telefongespräche sammelt, wie z. B. Dauer und Zeitpunkt des Anrufs. Die CDR-Analyse liefert Unternehmen die genauen Details darüber, wann, wo und wie Anrufe für Abrechnungs- und Berichtszwecke getätigt werden. Die Metadaten von CDR geben Auskunft über

    • Wenn die Anrufe getätigt werden (Datum und Uhrzeit)
    • Dauer des Anrufs (in Minuten)
    • Wer hat wen angerufen (Kontaktnummer von Quelle und Ziel)
    • Art des Anrufs (eingehend, ausgehend oder gebührenfrei)
    • Wie viel kostet der Anruf (auf Basis des Minutentarifs)

    11. Kassandra

    Cassandra ist ein verteiltes und quelloffenes NoSQL-Datenbankverwaltungssystem. Es ist darauf ausgelegt, eine große Menge verteilter Daten über Standardserver zu verwalten, da es eine hohe Verfügbarkeit von Diensten ohne Fehlerpunkte bietet. Es wurde zunächst von Facebook entwickelt und dann in Key-Value-Form unter der Apache Foundation strukturiert.

    12. Handydaten

    Mobiltelefondaten sind als eine der Big-Data-Quellen aufgetaucht, da sie eine enorme Datenmenge erzeugen und ein Großteil davon für analytische Anwendungen zur Verfügung steht.

    13. Cloud-Computing

    Cloud Computing ist einer der bekanntesten Big-Data-Begriffe. Es ist ein neues Paradigmen-Computersystem, das eine Visualisierung von Computerressourcen bietet, die über den Standard-Remote-Server zum Speichern von Daten laufen und IaaS, PaaS und SaaS bietet. Cloud Computing stellt IT-Ressourcen wie Infrastruktur, Software, Plattform, Datenbank, Speicher usw. als Dienste bereit. Flexible Skalierung, schnelle Elastizität, Ressourcenpooling, On-Demand-Self-Service sind einige seiner Services.

    14. Clusteranalyse

    Clusteranalyse ist der Big-Data-Begriff, der sich auf den Vorgang der Gruppierung von einander ähnlichen Objekten in der gemeinsamen Gruppe (Cluster) bezieht. Es wird getan, um die Ähnlichkeiten und Unterschiede zwischen ihnen zu verstehen. Es ist die wichtige Aufgabe des explorativen Data Mining und gemeinsamer Strategien, statistische Daten in verschiedenen Bereichen wie Bildanalyse, Mustererkennung, maschinelles Lernen, Computergrafik, Datenkomprimierung usw. zu analysieren.

    15. Chukwa

    Apache Chukwa ist ein groß angelegtes Open-Source-Protokollerfassungssystem zur Überwachung großer verteilter Systeme. Es ist einer der gebräuchlichsten Big-Data-Begriffe im Zusammenhang mit Hadoop. Es basiert auf dem Hadoop Distributed File System (HDFS) und dem Map/Reduce-Framework. Es erbt die Robustheit und Skalierbarkeit von Hadoop. Chukwa enthält eine leistungsstarke und flexible Toolkit-Datenbank zum Überwachen, Anzeigen und Analysieren von Ergebnissen, damit gesammelte Daten bestmöglich verwendet werden können.

    16. Spaltendatenbank / Spaltenorientierte Datenbank

    Eine Datenbank, die Daten spaltenweise statt zeilenweise speichert, wird als spaltenorientierte Datenbank bezeichnet.

    17. Vergleichende analytisch orientierte Datenbank

    Vergleichende Analytik ist eine spezielle Art von Data-Mining-Technologie, die große Datensätze, mehrere Prozesse oder andere Objekte mit statistischen Strategien wie Filterung, Entscheidungsbaumanalyse, Musteranalyse usw. vergleicht.

    18. Komplexe Ereignisverarbeitung (CEP)

    Complex Event Processing (CEP) ist der Prozess, bei dem Daten analysiert und identifiziert und dann kombiniert werden, um Ereignisse abzuleiten, die in der Lage sind, Lösungen für die komplexen Umstände vorzuschlagen. Die Hauptaufgabe von CEP besteht darin, sinnvolle Ereignisse zu erkennen/zu verfolgen und so schnell wie möglich darauf zu reagieren.

    D

    19. Datenanalyst

    Der Datenanalyst ist für die Erhebung, Verarbeitung und Durchführung statistischer Analysen von Daten verantwortlich. Ein Datenanalyst entdeckt die Möglichkeiten, wie diese Daten verwendet werden können, um dem Unternehmen zu helfen, bessere Geschäftsentscheidungen zu treffen. Es ist einer der Big-Data-Begriffe, die eine Big-Data-Karriere definieren. Der Datenanalyst arbeitet mit Endbenutzern im Unternehmen zusammen, um die Arten des analytischen Berichts zu definieren, die im Geschäft erforderlich sind.

    20. Data Aggregation

    Data aggregation refers to the collection of data from multiple sources to bring all the data together into a common athenaeum for the purpose of reporting and/or analysis.

    The knowledge of one of the high-level programming languages is required to build a career in Big Data. Let’s check out which are the Top 3 Big Data Programming Languages for You!

    21. Dashboard

    It is a graphical representation of analysis performed by the algorithms. This graphical report shows different color alerts to show the activity status. A green light is for the normal operations, a yellow light shows that there is some impact due to operation and a red light signifies that the operation has been stopped. This alertness with different lights helps to track the status of operations and find out the details whenever required.

    22. Data Scientist

    Data Scientist is also a big data term that defines a big data career. A data scientist is a practitioner of data science. He is proficient in mathematics, statistics, computer science, and/or data visualization who establish data models and algorithms for complex problems to solve them.

    23. Data Architecture and Design

    In IT industry, Data architecture consists of models, policies standards or rules that control which data is aggregated, and how it is arranged, stored, integrated and brought to use in data systems. It has three phases

    • Conceptual representation of business entities
    • The logical representation of the relationships between business entities
    • The physical construction of the system for functional support

    24. Database administrator (DBA)

    DBA is the big data term related to a role which includes capacity planning, configuration, database design, performance monitoring, migration, troubleshooting, security, backups and data recovery. DBA is responsible for maintaining and supporting the rectitude of content and structure of a database.

    25. Database Management System (DBMS)

    Database Management System is software that collects data and provides access to it in an organized layout. It creates and manages the database. DBMS provides programmers and users a well-organized process to create, update, retrieve, and manage data.

    26. Data Model and Data Modelling

    Data Model is a starting phase of a database designing and usually consists of attributes, entity types, integrity rules, relationships and definitions of objects.

    Data modeling is the process of creating a data model for an information system by using certain formal techniques. Data modeling is used to define and analyze the requirement of data for supporting business processes.

    Looking for big data tools to start a big data career? Here are the Top 10 Open Source Big Data Tools in 2018.

    27. Data Cleansing

    Data Cleansing/Scrubbing/Cleaning is a process of revising data to remove incorrect spellings, duplicate entries, adding missing data, and providing consistency. It is required as incorrect data can lead to bad analysis and wrong conclusions.

    28. Document Management

    Document management, often, referred to as Document management system is a software which is used to track, store, and manage electronic documents and an electronic image of paper through a scanner. It is one of the basic big data terms you should know to start a big data career.

    29. Data Visualization

    Data visualization is the presentation of data in a graphical or pictorial format designed for the purpose of communicating information or deriving meaning. It validates the users/decision makers to see analytics visually so that they would be able to understand the new concepts. This data helps –

    • to derive insight and meaning from the data
    • in the communication of data and information in a more effective manner

    30. Data Warehouse

    The data warehouse is a system of storing data for the purpose of analysis and reporting. It is believed to be the main component of business intelligence. Data stored in the warehouse is uploaded from the operational system like sales or marketing.

    31. Drill

    The drill is an open source, distributed, low latency SQL query engine for Hadoop. It is built for semi-structured or nested data and can handle fixed schemas. The drill is similar in some aspects to Google’s Dremel and is handled by Apache.

    E

    32. Extract, Transform, and Load (ETL)

    ETL is the short form of three database functions extract, transform and load. These three functions are combined together into one tool to place them from one to another database.

    It is the process of reading data from a database.

    It is the process of conversion of extracted data in the desired form so that it can be put into another database.

    It is the process of writing data into the target database

    F

    33. Fuzzy Logic

    Fuzzy logic is an approach to computing based on degrees of truth instead of usual true/false (1 or 0) Boolean algebra.

    34. Flume

    Flume is defined as a reliable, distributed, and available service for aggregating, collecting, and transferring huge amount of data in HDFS. It is robust in nature. Flume architecture is flexible in nature, based on data streaming.

    G

    35. Graph Database

    A graph database is a group/collection of edges and nodes. A node typifies an entity i.e. business or individual whereas an edge typifies a relation or connection between nodes.

    You must remember the statement given by graph database experts –

    “If you can whiteboard it, you can graph it.”

    36. Grid Computing

    Grid computing is a collection of computer resources for performing computing functions using resources from various domains or multiple distributed systems to reach a specific goal. A grid is designed to solve big problems to maintain the process flexibility. Grid computing is often used in scientific/marketing research, structural analysis, web services such as back-office infrastructures or ATM banking etc.

    37. Gamification

    Gamification refers to the principles used in designing the game to improve customer engagement in non-game businesses. Different companies use different gaming principles to enhance interest in a service or product or simply we can say gamification is used to deepen their client’s relationship with the brand.

    H

    38. Hadoop User Experience (HUE)

    Hadoop User Experience (HUE) is an open source interface which makes Apache Hadoop’s use easier. It is a web-based application. It has a job designer for MapReduce, a file browser for HDFS, an Oozie application for making workflows and coordinators, an Impala, a shell, a Hive UI, and a group of Hadoop APIs.

    39. High-Performance Analytical Application (HANA)

    High-performance Analytical Application is a software/hardware scheme for large volume transactions and real-time data analytics in-memory computing platform from the SAP.

    40. HAMA

    Hama is basically a distributed computing framework for big data analytics based on Bulk Synchronous Parallel strategies for advanced and complex computations like graphs, network algorithms, and matrices. It is a Top-level Project of The Apache Software Foundation.

    Big Data Analytics is the field with a number of career opportunities. Let’s check out why is Big Data Analytics so important!

    41. Hadoop Distributed File System (HDFS)

    Hadoop Distributed File System (HDFS) is primary data storage layer used by Hadoop applications. It employs DataNode and NameNode architecture to implement distributed and Java-based file system which supplies high-performance access to data with high scalable Hadoop Clusters. It is designed to be highly fault-tolerant.

    42. HBase

    Apache HBase is the Hadoop database which is an open source, scalable, versioned, distributed and big data store. Some features of HBase are

    • Modular and linear scalability
    • Easy to use Java APIs
    • Configurable and automatic sharing of tables
    • Extensible JIRB shell

    43. Hive

    Hive is an open source Hadoop-based data warehouse software project for providing data summarization, analysis, and query. Users can write queries in the SQL-like language known as HiveQL. Hadoop is a framework which handles large datasets in the distributed computing environment.

    Ich

    44. Impala

    Impala is an open source MPP (massively parallel processing) SQL query engine which is used in computer cluster for running Apache Hadoop. Impala provides parallel database strategy to Hadoop so that user will be able to apply low-latency SQL queries on the data that is stored in Apache HBase and HDFS without any data transformation.

    K

    45. Key Value Stores / Key Value Databases

    Key value store or key-value database is a paradigm of data storage which is schemed for storing, managing, and retrieving a data structure. Records are stored in a data type of a programming language with a key attribute which identifies the record uniquely. That’s why there is no requirement of a fixed data model.

    L

    46. Load balancing

    Load balancing is a tool which distributes the amount of workload between two or more computers over a computer network so that work gets completed in small time as all users desire to be served faster. It is the main reason for computer server clustering and it can be applied with software or hardware or with the combination of both.

    47. Linked Data

    Linked data refers to the collection of interconnected datasets that can be shared or published on the web and collaborated with machines and users. It is highly structured, unlike big data. It is used in building Semantic Web in which a large amount of data is available in the standard format on the web.

    48. Location Analytics

    Location analytics is the process of gaining insights from geographic component or location of business data. It is the visual effect of analyzing and interpreting the information which is portrayed by data and allows the user to connect location-related information with the dataset.

    49. Log File

    A log file is the special type of file that allows users keeping the record of events occurred or the operating system or conversation between the users or any running software.

    M

    50. Metadata

    Metadata is data about data. It is administrative, descriptive, and structural data that identifies the assets.

    51. MongoDB

    MongoDB is an open source and NoSQL document-oriented database program. It uses JSON documents to save data structures with an agile scheme known a MongoDB BSON format. It integrates data in applications very quickly and easily.

    52. Multi-Dimensional Database (MDB)

    A multidimensional database (MDB) is a kind of database which is optimized for OLAP (Online Analytical Processing) applications and data warehousing. MDB can be easily created by using the input of relational database. MDB is the ability of processing data in the database so that results can be developed quickly.

    53. Multi-Value Database

    Multi-Value Database is a kind of multi-dimensional and NoSQL database which is able to understand three-dimensional data. These databases are enough for manipulating XML and HTML strings directly.

    Some examples of Commercial Multi-value Databases are OpenQM, Rocket D3 Database Management System, jBASE, Intersystem Cache, OpenInsight, and InfinityDB.

    54. Machine-Generated Data

    Machine generated data is the information generated by machines (computer, application, process or another inhuman mechanism). Machine generated data is known as amorphous data as humans can rarely modify/change this data.

    55. Machine Learning

    Machine learning is a computer science field that makes use of statistical strategies to provide the facility to “learn” with data on the computer. Machine learning is used for exploiting the opportunities hidden in big data.

    56. MapReduce

    MapReduce is a processing technique to process large datasets with the parallel distributed algorithm on the cluster. MapReduce jobs are of two types. “Map” function is used to divide the query into multiple parts and then process the data at the node level. “Reduce’ function collects the result of “Map” function and then find the answer to the query. MapReduce is used to handle big data when coupled with HDFS. This coupling of HDFS and MapReduce is referred to as Hadoop.

    57. Mahout

    Apache Mahout is an open source data mining library. It uses data mining algorithms for regression testing, performing, clustering, statistical modeling, and then implementing them using MapReduce model.

    Nein

    58. Network Analysis

    Network analysis is the application of graph/chart theory that is used to categorize, understand, and viewing relationships between the nodes in network terms. It is an effective way of analyzing connections and to check their capabilities in any field such as prediction, marketing analysis, and healthcare etc.

    59. NewSQL

    NewSQL is a class of modern relational database management system which provide the scalable performance same as NoSQL systems for OLTP read/write workloads. It is well-defined database system which is easy to learn.

    Want to extend your knowledge of Big Data? Here is the complete list of Big Data Blogs, just read and become a Big Data expert!

    60. NoSQL

    Widely known as ‘Not only SQL’, it is a system for the management of databases. This database management system is independent of the relational database management system. A NoSQL database is not built on tables, and it doesn’t use SQL for the manipulation of data.

    Ö

    61. Object Databases

    The database that stores data in the form of objects is known as the object database. These objects are used in the same manner as that of the objects used in OOP. An object database is different from the graph and relational databases. These databases provide a query language most of the time that helps to find the object with a declaration.

    62. Object-based Image Analysis

    It is the analysis of object-based images that is performed with data taken by selected related pixels, known as image objects or simply objects. It is different from the digital analysis that is done using data from individual pixels.

    63. Online Analytical Processing (OLAP)

    It is the process by which analysis of multidimensional data is done by using three operators – drill-down, consolidation, and slice and dice.

    • Drill-down is the capability provided to users to view underlying details
    • Consolidation is the aggregate of available
    • Slice and dice is the capability provided to users for selecting subsets and viewing them from various contexts

    64. Online transactional processing (OLTP)

    It is the big data term used for the process that provides users an access to the large set of transactional data. It is done in such a manner that users are able to derive meaning from the accessed data.

    65. Open Data Center Alliance (ODCA)

    OCDA is the combination of IT organizations over the globe. The main goal of this consortium is to increase the movement of cloud computing.

    66. Operational Data Store (ODS)

    It is defined as a location to collect and store data retrieved from various sources. It allows users to perform many additional operations on the data before it is sent for reporting to the data warehouse.

    67. Oozie

    It is the big data term used for a processing system that allows users to define a set of jobs. These jobs are written in different languages such as Pig, MapReduce, and Hive. Oozie allows users to link those jobs to one another.

    P

    68. Parallel Data Analysis

    The process of breaking an analytical problem into small partitions and then running analysis algorithms on each of the partitions simultaneously is known as parallel data analysis. This type of data analysis can be run either on the different systems or on the same system.

    69. Parallel Method Invocation (PMI)

    It is the system that allows program code to call or invoke multiple methods/functions simultaneously at the same time.

    70. Parallel Processing

    It is the capability of a system to perform the execution of multiple tasks simultaneously.

    71. Parallel Query

    A parallel query can be defined as a query that can be executed over multiple system threads in order to improve the performance.

    72. Pattern Recognition

    A process to classify or label the identified pattern in the process of machine learning is known as pattern recognition.

    73. Pentaho

    Pentaho, a software organization, provides open source Business Intelligence products those are known as Pentaho Business Analytics. Pentaho offers OLAP services, data integration, dashboarding, reporting, ETL, and data mining capabilities.

    74. Petabyte

    The data measurement unit equals to 1,024 terabytes or 1 million gigabytes is known as petabyte.

    Q

    75. Query

    A query is a method to get some sort of information in order to derive an answer to the question.

    Big Data world is steadily evolving with the time. Let’s have a look at the upcoming Big Data Trends in 2018.

    76. Query Analysis

    The process to perform the analysis of search query is called query analysis. The query analysis is done to optimize the query to get the best possible results.

    R

    77. R

    It is a programming language and an environment for the graphics and statistical computing. It is very extensible language that provides a number of graphical and statistical techniques such as nonlinear and linear modeling, time-series analysis, classical statistical tests, clustering, classification etc.

    78. Re-identification

    The data re-identification is a process that matches anonymous data with the available auxiliary data or information. This practice is helpful to find out the individual whom this data belongs to.

    79. Real-time Data

    The data that can be created, stored, processed, analyzed, and visualized instantly i.e. in milliseconds, is known as real-time data.

    80. Reference Data

    It is the big data term that defines the data used to describe an object along with its properties. The object described by reference data may be virtual or physical in nature.

    81. Recommendation Engine

    It is an algorithm that performs the analysis of various actions and purchases made by a customer on an e-commerce website. This analyzed data is then used to recommend some complementary products to the customer.

    82. Risk Analysis

    It is a process or procedure to track the risks of an action, project or decision. The risk analysis is done by applying different statistical techniques on the datasets.

    83. Routing Analysis

    It is a process or procedure to find the optimized routing. It is done with the use of various variables for transport to improve efficiency and reduce costs of the fuel.

    S

    84. SaaS

    It is the big data term used for Software-as-a-Service. It allows vendors to host an application and then make this application available over the internet. The SaaS services are provided in the cloud by SaaS providers.

    85. Semi-Structured Data

    The data, not represented in the traditional manner with the application of regular methods is known as semi-structured data. This data is neither totally structured nor unstructured but contains some tags, data tables, and structural elements. Few examples of semi-structured data are XML documents, emails, tables, and graphs.

    86. Server

    The server is a virtual or physical computer that receives requests related to the software application and thus sends these requests over a network. It is the common big data term used almost in all the big data technologies.

    87. Spatial Analysis

    The analysis of spatial data i.e. topological and geographic data is known as spatial analysis. This analysis helps to identify and understand everything about a particular area or position.

    88. Structured Query Language (SQL)

    SQL is a standard programming language that is used to retrieve and manage data in a relational database. This language is very useful to create and query relational databases.

    89. Sqoop

    It is a connectivity tool that is used to move data from non-Hadoop data stores to Hadoop data stores. This tool instructs Sqoop to retrieve data from Teradata, Oracle or any other relational database and to specify target destination in Hadoop to move that retrieved data.

    90. Storm

    Apache Storm is a distributed, open source, and real-time computation system used for data processing. It is one of the must-known big data terms, responsible to process unstructured data reliably in real-time.

    A big data certification validates your Big Data skills and helps you stand out of the crowd. Here is the list of best Big Data Certifications in 2018.

    T

    91. Text Analytics

    The text analytics is basically the process of the application of linguistic, machine learning, and statistical techniques on the text-based sources. The text analytics is used to derive an insight or meaning from the text data by application of these techniques.

    92. Thrift

    It is a software framework that is used for the development of the ascendable cross-language services. It integrates code generation engine with the software stack to develop services that can work seamlessly and efficiently between different programming languages such as Ruby, Java, PHP, C++, Python, C# and others.

    U

    93. Unstructured Data

    The data for which structure can’t be defined is known as unstructured data. It becomes difficult to process and manage unstructured data. The common examples of unstructured data are the text entered in email messages and data sources with texts, images, and videos.

    V

    94. Value

    This big data term basically defines the value of the available data. The collected and stored data may be valuable for the societies, customers, and organizations. It is one of the important big data terms as big data is meant for big businesses and the businesses will get some value i.e. benefits from the big data.

    95. Volume

    This big data term is related to the total available amount of the data. The data may range from megabytes to brontobytes.

    W

    96. WebHDFS Apache Hadoop

    WebHDFS is a protocol to access HDFS to make the use of industry RESTful mechanism. It contains native libraries and thus allows to have an access of the HDFS. It helps users to connect to the HDFS from outside by taking advantage of Hadoop cluster parallelism. It also offers the access of web services strategically to all Hadoop components.

    97. Weather Data

    The data trends and patterns that help to track the atmosphere is known as the weather data. This data basically consists of numbers and factors. Now, real-time data is available that can be used by the organizations in a different manner. Such as a logistics company uses weather data in order to optimize goods transportation.

    X

    98. XML Databases

    The databases that support the storage of data in XML format is known as XML database. These databases are generally connected with the document-specific databases. One can export, serial, and put a query on the data of XML database.

    Y

    99. Yottabyte

    It is the big data term related to the measurement of data. One yottabyte is equal to 1000 zettabytes or the data stored in 250 trillion DVDs.

    Z

    100. ZooKeeper

    It is an Apache software project and Hadoop subproject which provides open code name generation for the distributed systems. It also supports consolidated organization of the large-sized distributed systems.

    101. Zettabyte

    It is the big data term related to the measurement of data. One zettabyte is equal to 1 billion terabytes or 1000 exabytes.

    Bottom Line

    Big data is not only a buzz word but the broad term that has a lot to learn. So, we have enlisted and described these Big Data terms that will be helpful in your big data career. Not to mention, it is important to validate your big data skills and knowledge for the bright career. And big data certifications are meant to demonstrate your big data skills to the employers.

    Whizlabs, the pioneer in Big Data Certifications Training , is aimed to help you learn and get certified in big data technologies. Whether you are a Hadoop or Spark professional, Whizlabs Hadoop Admin (HDPCA), Spark Developer (HDPCD), and CCA Administrator certification online training will prepare you for a bright future!

    Have any questions regarding these Big Data terms? Just write here or put a comment below, we’ll be happy to answer!


    How to load geographic data into Hadoop (Hive) and then to be able to call spatial functions on them? - Geografisches Informationssystem

    Количество зарегистрированных учащихся: 17 тыс.

    Участвовать бесплатно

    Spatial (map) is considered as a core infrastructure of modern IT world, which is substantiated by business transactions of major IT companies such as Apple, Google, Microsoft, Amazon, Intel, and Uber, and even motor companies such as Audi, BMW, and Mercedes. Consequently, they are bound to hire more and more spatial data scientists. Based on such business trend, this course is designed to present a firm understanding of spatial data science to the learners, who would have a basic knowledge of data science and data analysis, and eventually to make their expertise differentiated from other nominal data scientists and data analysts. Additionally, this course could make learners realize the value of spatial big data and the power of open source software's to deal with spatial data science problems. This course will start with defining spatial data science and answering why spatial is special from three different perspectives - business, technology, and data in the first week. In the second week, four disciplines related to spatial data science - GIS, DBMS, Data Analytics, and Big Data Systems, and the related open source software's - QGIS, PostgreSQL, PostGIS, R, and Hadoop tools are introduced together. During the third, fourth, and fifth weeks, you will learn the four disciplines one by one from the principle to applications. In the final week, five real world problems and the corresponding solutions are presented with step-by-step procedures in environment of open source software's.

    Получаемые навыки

    Spatial Analysis, Qgis, Big Data, Geographic Information System (GIS)

    Рецензии

    Great course which starts with basics, gets descriptive with examples, real life scenarios, usage of software. Definitely recommended.

    Love the course! Explained very detail about spatial. Hope I can land my dream job soon that is related to spatial analysis.

    Spatial DBMS and Big Data Systems

    The fourth module is entitled to "Spatial DBMS and Big Data Systems", which covers two disciplines related to spatial data science, and will make learners understand how to use DBMS and Big Data Systems to manage spatial data and spatial big data. This module is composed of six lectures. The first two lectures will cover DBMS and Spatial DBMS, and the rest of the lectures will cover Big Data Systems. The first lecture "Database Management System (DBMS)" will introduce powerful functionalities of DBMS and related features, and limitations of conventional Relational DBMS for spatial data. The second lecture "Spatial DBMS" focuses on the difference of spatial DBMS from conventional DBMS, and new features to manage spatial data. The third lecture will give learners a brief overview of Big Data Systems and the current paradigm - MapReduce. The fourth lecture will cover Hadoop MapReduce, Hadoop Distributed File System (HDFS), Hadoop YARN, as an implementation of MapReduce paradigm, and also will present the first example of spatial big data processing using Hadoop MapReduce. The fifth lecture will introduce Hadoop ecosystem and show how to utilize Hadoop tools such as Hive, Pig, Sqoop, and HBase for spatial big data processing. The last lecture "Spatial Big Data System" will introduce two Hadoop tools for spatial big data - Spatial Hadoop and GIS Tools for Hadoop, and review their pros and cons for spatial big data management and processing.

    Преподаватели

    Joon Heo

    Текст видео

    In the previous lecture, you studied Hadoop that was designed for big data processing, and you also learned that it has some limitations as well as big advantages, so it may need some improvement to overcome the lack of functionalities, particularly regarding user's convenience. Can you use Hadoop in a more convenient manner? We'll discuss the answers to the question in this lecture. Hadoop Ecosystem refers to the various components of Apache Hadoop software library, as well as to the Hadoop related tools to address particular needs to overcome limitations of Hadoop itself. The figure presents the notable tools in Hadoop Ecosystem such as Hive, Pig, Sqoop, and HBase, that you will learn in more detail. Those Hadoop tools in the ecosystem can be categorized based on its design objective. Among them, a column-based NoSQL solution, HBase, a scripting solution for workflow, Pig, a SQL-like solution for workflow, Hive, and a convergent tool between RDBMS and HDFS Sqoop will be introduced with examples of spatial big data processing and management. Hive is originally developed for data warehouse software to facilitate querying and managing large dataset in distributed storage. Main advantage of Hive is to provide SQL-like language, HiveQL, which uses basic SQL such as Select, From, Where, Join, Group By, and so on. It is a Hadoop-based solution, so MapReduce and HDFS is being used behind the scene. Also, Hive allows users to plug in traditional mappers and reducers, when it is inefficient to use HiveQL. Let's process the same example in the previous lecture - Filter and visualize taxi drop-offs near LaGuardia Airport. Remember, it can be done in traditional MapReduce using Java. And I mentioned that it is too much hassle to conduct a SQL-like operation in MapReduce environment. Now, you are looking at an alternative solution using Hive. All you have to do is to import the data sets NewYork Taxi Trajectory, query and get the results and visualize the results. Much simpler than MapReduce. You're looking at the visualization of the results same as the outcome of MapReduce. Pig is platform for analyzing large datasets which is composed of a high-level scripting language and an engine for executing data flows in parallel on Hadoop. It provides language, Pig Latin, that includes most of traditional data operators such as Join, Sort, Filter and the ability for users to develop their own function for reading, processing and writing data. Pig runs on Hadoop, and obviously makes use of Hadoop MapReduce and HDFS. It basically makes it easy to write MapReduce program. Pig can be used in interactive mode – shell scripting, which is a line by line processing as you are looking at. The Pig-based solution for the same spatial big data processing was implemented. In which, data loading, filtering and exporting the results were conducted line by line. Pig solution can be also implemented in a batch mode as you are looking at the example. The line by line script in the previous slide can be saved in a script file, and Pig can call the script and a batch processing can be done. The same results as Hive and MapReduce were retrieved - taxi drop-offs near LaGuardia Airport. MapReduce is powerful but it requires hard coding Java, Python or C++. Even though it is much simpler than MPI, still complex to master. As mentioned it, MapReduce needs some improvement for user's convenience and the outcome for the needs, are the two solutions of Hive and Pig, with which users could manage and analyze big data using Hadoop and HDFS in more convenient manner. Sqoop is a tool, which is designed to transfer data between HDFS and relational databases. You can use Sqoop to import the data from a Relational Database Management System such as PostgreSQL, MySQL or Oracle into the HDFS to transform the data in Hadoop MapReduce and then to export the data back into an RDBMS. Now you're looking at conversion from HDFS of which filename is "green_tripdata_2014-01.csv" to a RDBMS table in MySQL of which name is "testnewyork". In the bottom, another conversion from my MySQL to Hive. Import "testnewyork" table in MySQL to "mysql_test" table in Hive. Certainly, with Sqoop, the opposite conversion from RDBMS table to HDFS and from Hive to RDBMS are also possible. As discussed, HDFS is designed for distributed storage and distributed computation and very good for batch processing. However, no facilities for accessing or updating individual data. HBase is an alternative solution, which is a column-based distributed database and capable of random access read and write. Additionally, it is good for sparse data and flexible to add new columns. HBase is another relational database and it does not provide a structured query language like SQL. In fact, HBase applications are written in Java just like a typical MapReduce application. HBase is originated from Google's Bigtable, and it is suited for handling very large tables for example billions of rows and millions of columns. A smart idea HBase is to apply column based partitioning to such a large table and to enable distributed operation of random access, updating, deleting individual item and eventually it achieves a better data management capability than HDFS. In the data model of HBase, each row is composed of rowkey and column families. The 'rowkey' should be unique and sorted, in order to preserve consistency and efficiency. Columns are grouped into column families. Physically, all column family members are sorted together on file system. So tuning in storage specifications are managed at the column family level, all column family members have the same general access pattern and size characteristics. Now you're looking at an HBase example. The sample dataset Seoul Taxi trajectory, a similar dataset to New York Taxi trajectory. Our design is following Rowkey is a combined string of carID and Time and two column families are made based on access pattern and data size which are 'properties' and ɼoordinates'. Based on the design, we created a database with the two column families using Java code. The next Java code is to load Seoul Taxi trajectory data into each HBase database. HBase provides only basic data model operations, Get, Put, Scan and Delete. Put is used to either to add new rows to a table if rowkey is new or to update existing rows if the rowkey already existed. Here, Put operation was used to load the data into HBase table. HBase also provides shell script. Using shell, a data retrieval is conducted from a HBase table which was just created. Using Get operation, the coordinate column family - Latitude and Longitude, X and Y are retrieved. Certainly, we could see Scan and Delete for other data management which is not feasible with HDFS. In this lecture, you just reviewed four tools in Hadoop Ecosystem. Hive, Pig, Sqoop and HBase which facilitate Hadoop in a more convenient manner. There are many many other tools. Now our question is - Is there any Hadoop tool for spatial big data? We will discuss the issue in the next lecture.


    A Deep Dive into NoSQL Databases: The Use Cases and Applications

    4.3.1 Apache Spark

    Apache Spark is a next-generation batch processing framework with stream processing capabilities. Spark focuses primarily on speeding up batch processing workloads by offering full in-memory computation and processing optimization. Spark can be deployed as a standalone cluster by pairing with a capable storage layer or can hook into Hadoop's HDFS. Spark, in the beginning, loads the data into memory, processes all the data in memory, and at the end, persists the final results in the disk storage. All intermediate results are fully kept and managed in memory.

    We all know that in-memory computing accelerates data processing drastically. That is, when data get stored in system memory rather on disk storages, the processing happens at 3000 times speedier. Spark is relatively fast on disk-related tasks because Spark brings forth a series of optimizations by analyzing the complete set of tasks ahead of time. It achieves this by creating DAGs, which represent all of the operations that must be performed, the data to be operated on, as well as the relationships between them, giving the processor a greater ability to intelligently coordinate work.

    Resilient distributed datasets (RDDs)—To implement an in-memory batch computation, Spark uses this proven RDD model to work with data. These are immutable structures that exist within memory that represent collections of data. Operations on RDDs can produce new RDDs and each RDD can trace its lineage back through its parent RDDs and ultimately to the data on disk. Through the concept of RDDs, Spark is able to maintain the much-needed fault tolerance without needing to write back to disk after each operation. Precisely speaking, Spark started its golden innings by performing batch processing.

    Spark Streaming is a newly introduced API in the Apache Spark family in order to simplify and speed upstream processing. Spark implements an original concept of microbatches to facilitate stream processing. The idea is to treat streams of data as a series of very small batches that can be handled using the native semantics of the batch engine. Spark Streaming works by buffering the stream in subsecond increments and they are sent as small fixed datasets for batch processing. This method can lead to different performance guarantees. Spark through its in-memory computing capability is able to do justice for both batch as well as streaming analytics. Adapting the batch methodology for stream processing can lead to buffering the data as it enters the system. The buffer helps to handle a high volume of incoming data and increasing the overall throughput. The problem here is that the waiting period to flush the buffer leads to high latency and hence for real-time processing, Spark is not a good fit. Ultimately Spark will replace the Hadoop's MapReduce module.

    The Spark deployment and operational model are quite unique and versatile. That is, Spark can be deployed as a standalone cluster or integrated with an existing Hadoop cluster. That is, a single cluster can do both batch and stream processing. Because of its innate strength, Spark is on the right track by adding additional libraries such as machine learning (ML), etc. GraphX is the Apache Spark's API for graphs and graph-parallel computation. GraphX is capable of unifying ETL, exploratory analysis, and iterative graph computation within a single system. We can view the same data as both graphs and collections, transform and join graphs with RDDs efficiently, and write custom iterative graph algorithms using the Pregel API.

    The principal advantages of Spark—There are many benefits being accrued out of the advancements happening in the Spark domain.

    Faster processing—Apache Spark essentially takes MapReduce to the next level with a performance that is significantly faster. Spark has the ability to hold intermediate results in memory itself instead of writing it back to disk and reading it again.

    Speed—Spark can execute batch processing jobs 10–100 times faster than MapReduce. That does not mean it lags behind when data have to be written to and fetched from disk.

    Ease of use—Apache Spark has easy-to-use APIs for easily operating on large datasets.

    Unified engine—Spark can run on top of Hadoop making use of its cluster manager (YARN) and underlying storage (HDFS, HBase, etc.). Also, it can run independently of Hadoop by joining hands with other cluster managers and storage platforms such as Cassandra and Amazon S3.

    Choose from Java, Scala, or Python—Spark supports all the prominent and dominant programming languages.

    In-memory data sharing—Different jobs can share data within the memory and this makes an ideal choice for iterative, interactive, and event stream processing tasks.

    As the relatively expensive memory is being used for computation, Spark is to cost more. However, the increased processing speed means that tasks can be completed faster and resultingly the cost of computation is on the lower side. Precisely speaking, Spark emerges as the one-stop solution for big data analytics.


    This section provides detailed descriptions of new features for the Adapter for Teradata.

    Support for Wide ODBC API

    A new interface for Teradata is introduced that is based on the wide ODBC API. This interface supports Unicode and offers better performance on some platforms (for example, Windows and Linux x64/x86) compared to the Teradata ODBC interface that is not utilizing the wide API. This wide ODBC API interface is supported with TTU v.15.0 or higher.

    READONLY Fields in Extended Bulk Load

    Loading into Teradata using Extended Bulk Load is now supported even when the server metadata contains READONLY fields. Such fields will be skipped and remained unchanged during loading.

    Distinguishing Between Macros and Stored Procedures

    The following Access File attribute has been introduced to identify whether the synonym represents a Teradata Macro or Stored Procedure.

    Support for Version 15.10

    The Teradata CLI and ODBC adapters support Read/Write access to Teradata Version 15.10.