我刚刚开始学习Hadoop,我想知道以下内容:假设我有一堆我想分析的大型MySQL生产表.
似乎我必须将所有表转储到文本文件中,以便将它们带入Hadoop文件系统 - 这是正确的,还是有某种方式可以让Hive或Pig或其他任何东西直接从MySQL访问数据?
如果我将所有生产表转储到文本文件中,我是否需要担心在转储期间影响生产性能?(它取决于表所使用的存储引擎吗?如果是这样我该怎么办?)
将每个表转储到单个文件中,或将每个表拆分为64mb(或我的块大小)文件是否更好?
wlk.. 10
从mysql导入数据非常容易.我建议你使用Cloudera的hadoop发行版,它带有名为'sqoop'的程序,它提供了非常简单的接口,可以直接从mysql导入数据(也支持其他数据库).Sqoop可以与mysqldump或普通的mysql查询一起使用(select*...).使用此工具,无需手动将表分区为文件.但对于hadoop来说,拥有一个大文件要好得多.
有用的链接:
Sqoop用户指南
从mysql导入数据非常容易.我建议你使用Cloudera的hadoop发行版,它带有名为'sqoop'的程序,它提供了非常简单的接口,可以直接从mysql导入数据(也支持其他数据库).Sqoop可以与mysqldump或普通的mysql查询一起使用(select*...).使用此工具,无需手动将表分区为文件.但对于hadoop来说,拥有一个大文件要好得多.
有用的链接:
Sqoop用户指南