当我通过SQOOP将我的数据从oracle(假设1TB)导入我的HDFS时,数据将如何存储在文件中。 Oracle有结构化数据,数据如何在HDFS中?就像它是非规范化的,就像一个简单的文本文件或什么。 它就像映射器一样将其转换为键值对。现在假设我有搜索标准来查找年龄大于20的人,我们将如何为此编写Map reduce程序。?
答案 0 :(得分:0)
在hadoop中没有表关系的概念。如果你有规范化形式的数据然后将各个表sqoop到hdfs并将所有这些放入一个文件夹中,例如" raw"。 然后检查您需要查询的表格,然后使用" hive或pig"加入它们。然后让这些表格在hdfs的另一个文件夹中说" denormed"。 然后根据这些数据构建hive表,然后查询它们。
HDFS可以存储数据,就像你在sqooping它时一样,但你可以通过在sqooping或构建hive表期间指定格式来改变格式,通常不首选文本而是将其转换为二进制格式,如" avro&# 34;,"拼花"等等 有关更多参考,请查看此链接 http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-3-2/CDH4-Installation-Guide/cdh4ig_topic_26_8.html 感谢