我希望你能帮助找到一个问题的答案,这个问题将成为工作中反复出现的主题。这涉及将数据从RDBMS表格非规范化为具有跨列重复组(共享域和含义)的平面文件格式。不幸的是这是不可避免的。关系数据到平面文件
这里是改造的一个非常简单的例子,我会要求:
TABLE A TABLE B ------------------- 1 -> MANY ---------------------------- A_KEY FIELD_A B_KEY A_KEY FIELD_B A_KEY_01 A_VALUE_01 B_KEY_01 A_KEY_01 B_VALUE_01 A_KEY_02 A_VALUE_02 B_KEY_02 A_KEY_01 B_VALUE_02 B_KEY_03 A_KEY_02 B_VALUE_03
这将成为:
A_KEY FIELD_A B_KEY1 FIELD_B1 B_KEY2 FIELD_B2 A_KEY_01 A_VALUE_01 B_KEY_01 B_VALUE_01 B_KEY_02 B_VALUE_02 A_KEY_02 A_VALUE_02 B_KEY_03 B_VALUE_03
从TABLE A
每个入口都会有一行与一个输出平面文件每个相关字段的列数为TABLE B
。输出文件中的列可以具有从TABLE B
获得的字段的空值。
我意识到这将创建一个非常宽文件,但这是一个要求。我看了一下MapForce和Apatar,但我认为这个问题太奇怪了,或者我不能正确使用它们。
我的问题:是否已经有一个工具可以完成这个工作,或者我应该从头开始开发一个工具(我不想重新发明车轮)?
这是标准“表中的行到结果中的列”问题?这并不奇怪,这很常见。在SO和Google上搜索“表格行到结果列”。根据您阅读的内容更新此问题。 – 2009-12-10 11:51:34
谢谢,我周围环顾四周,没有发现同样的问题 - 我可能只是没有说清楚。我会考虑如何让这个问题的微妙之处更加明显。 – Anthony 2009-12-10 13:20:26