我刚刚开始学习Hadoop,我想知道以下内容:假设我有一堆我想分析的大型MySQL生产表.
>似乎我必须将所有表转储到文本文件中,以便将它们带入Hadoop文件系统 – 这是正确的,还是有某种方式可以让Hive或Pig或其他任何东西直接从MySQL访问数据? >如果我将所有生产表转储到文本文件中,我是否需要担心在转储期间影响生产性能? (它取决于表所使用的存储引擎吗?如果是这样我该怎么办?) >将每个表转储到单个文件中,或将每个表拆分为64mb(或我的块大小)文件是否更好?
最佳答案
从mysql导入数据非常容易.我建议你使用Cloudera的hadoop发行版,它带有名为’sqoop’的程序,它提供了非常简单的接口,可以直接从mysql导入数据(也支持其他数据库). Sqoop可以与mysqldump或普通的mysql查询一起使用(select * …). 使用此工具,无需手动将表分区为文件.但对于hadoop来说,拥有一个大文件要好得多.
有用的链接: Sqoop User Guide
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|