2017-01-06 2 views
3

Vielleicht ist dies gut dokumentiert, aber ich bin sehr verwirrt, wie man das macht (es gibt viele Apache-Tools).Wie konvertiert man eine 500GB SQL-Tabelle in Impala Parquet?

Wenn ich eine SQL-Tabelle zu erstellen, erstelle ich die Tabelle mit den folgenden Befehlen:

CREATE TABLE table_name(
    column1 datatype, 
    column2 datatype, 
    column3 datatype, 
    ..... 
    columnN datatype, 
    PRIMARY KEY(one or more columns) 
); 

Wie kann man convert diese Tabelle in Parkett gibt es? Diese Datei wird auf die Festplatte geschrieben? Wenn die Originaldaten mehrere GB betragen, wie lange muss man warten?

Könnte ich die ursprünglichen Rohdaten stattdessen in das Parquet-Format formatieren?

+3

Für die Aufzeichnung hat Sqoop keine wirkliche Zukunft ist jetzt, dass Funken Dynamik als „general purpose gewinnen ETL-Engine für Hadoop und darüber hinaus "* (Sqoop wurde von Cloudera als Notlösung entwickelt, aber Cloudera setzt sich jetzt für Spark ein ...) * –

Antwort

4

Apache Funken können verwendet werden, um dies zu tun:

1.load your table from mysql via jdbc 
2.save it as a parquet file 

Beispiel:

from pyspark.sql import SparkSession 
spark = SparkSession.builder.getOrCreate() 
df = spark.read.jdbc("YOUR_MYSQL_JDBC_CONN_STRING", "YOUR_TABLE",properties={"user": "YOUR_USER", "password": "YOUR_PASSWORD"}) 
df.write.parquet("YOUR_HDFS_FILE") 
+0

Ausgezeichnet! Vielen Dank dafür – ShanZhengYang

+0

Wie überprüfen wir den Fortschritt dieser Speicherung? Dieser Befehl ist seit einer halben Stunde in meiner Maschine stecken ?? Die Größe der db beträgt 44 GB. – Viv

+0

@Viv können Sie die Spark-Job-Webseite für detaillierte Informationen zur Aufgabe überprüfen, normalerweise läuft es bei localhost: 8080 – liprais

1

Verwendung Sqoop (die für Sq l steht Hatte oop). Ein kurzer Auszug aus dem documentation:

Sie können Sqoop verwenden, um Daten aus einer relationalen Datenbank -Management-System (RDBMS) wie MySQL oder Oracle oder einem Mainframe in das Hadoop Distributed File System (HDFS) zu importieren.

Verwandte Themen