Ich plane, einen Stapel zu verwenden, der Hadoop, Hive und Impala für die Analyse großer Datenmengen verwendet. Ich habe das Setup bereit und jetzt versuche ich Daten aus einer MySQL-Tabelle zu importieren. Die Tabellengröße ist mehr als 500 GB, und ich plane Sqoop wie folgt zu verwenden:Importieren Sie eine große Menge an MySQL-Daten nach Hadoop
sqoop import --connect jdbc:mysql://remote_host_ip/database_name --username user_name -P --table table_name --hive-import --compression-codec=snappy --as-parquetfile --warehouse-dir=/user/hive/warehouse -m 1
Gibt es eine andere bessere Methode, dies zu tun Import als diese 500 GB Daten über das Netzwerk beinhaltet übertragen. Ist es möglich, die Daten trotzdem zu komprimieren und in Hive zu importieren, damit Impala zur Abfrage verwendet werden kann?
Ich habe nur die Datenbank als CSV exportiert, pipe es durch gzip und in HDFS. Ich gebe der Person, die das in ein Shell-Skript bekommt, einen Cookie :) –
MySQL unterstützt die Komprimierung "on the wire" mit 'jdbc: mysql: // remote_host_ip/datenbankname? UseCompression = true 'vgl. https://dev.mysql.com/doc/connector-j/5.1/de/connector-j-reference-configuration-properties.html und http://torstens-tech-blog.blogspot.com/2012/08/ client-compression-with-mysql-in.html –