【发布时间】:2016-08-24 08:46:59
【问题描述】:
我计划使用一个使用 Hadoop、Hive 和 Impala 的堆栈来分析大数据。我已经准备好设置,现在我正在尝试从 MySQL 表中导入数据。表大小超过 500 GB,我计划使用 Sqoop 如下:
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
还有其他更好的方法来进行此导入,因为这涉及通过网络传输 500 GB 的数据。是否可以无论如何压缩数据并将其导入Hive,以便可以使用Impala进行查询?
【问题讨论】:
-
我以前只是将数据库导出为 csv,通过 gzip 将其通过管道传输到 HDFS。我将 cookie 给将其放入 shell 脚本的人 :)
-
MySQL 支持“在线”压缩
jdbc:mysql://remote_host_ip/database_name?useCompression=truecf。 dev.mysql.com/doc/connector-j/5.1/en/… 和 torstens-tech-blog.blogspot.com/2012/08/…