在hadoop中处理主数据更新
我开始了一个分析项目。用例用于理解客户购买模式和数据源,如Web日志、关系数据库(其中包含产品主数据、客户主数据)。关系数据库团队和hadoop团队完全不同。在架构讨论期间,讨论了主数据(产品、客户)将是一次性加载,增量更新将是从oracle到hdfs的每日sqoop,使用配置单元需要生成当前视图(包含所有最新的产品更改)。从产品细节开始在hadoop中处理主数据更新,hadoop,hive,master-data-management,Hadoop,Hive,Master Data Management,我开始了一个分析项目。用例用于理解客户购买模式和数据源,如Web日志、关系数据库(其中包含产品主数据、客户主数据)。关系数据库团队和hadoop团队完全不同。在架构讨论期间,讨论了主数据(产品、客户)将是一次性加载,增量更新将是从oracle到hdfs的每日sqoop,使用配置单元需要生成当前视图(包含所有最新的产品更改)。从产品细节开始 在Oracle端,产品主数据约为10G 每天的增量从5 MB到100 MB不等 根据我的理解,从长远来看,创建这样的小文件将是名称节点的负担 任何人遇到这样的
任何人遇到这样的解决方案时,您是如何处理的?我还没有看到任何问题。 如果您从一个大文件开始,每天添加一个文件,那么一年后您将得到约1000个文件,这不是问题(至少不是名称节点)。
不过,无论大小,在HDFS中保存小文件都不是最佳选择。
我建议您对此采取应用程序方法,并在经过足够的时间后合并文件,例如:
在
视图中使用union all
组合这两个表,并创建一个加载过程,以便在可能的情况下偶尔将数据从HDFS加载到主表