梁老师 请教一个问题,数据在DB中存储按照逗号分隔多内容存储在一个字段现想用要给script task在code中解析这个逗号分隔内容为多数组,然后分别在cache manger中查找对应替换的内容,最后在提取到目的地,不知道如何在code中使用cache manager中的数据?
0
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
7 个回复
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-06-26 回答
赞同来自: superMark
用C#做拆分是可以知道能拆成几行而且是动态的,通过循环拆分后的行。 把它们都添加到 output里
如果你没有C#基础,建议你先学习一下这篇文章 http://www.cnblogs.com/lulupin ... .html,然后再仔细阅读我发给你的链接。代码其实我已经都发出来了,只差拆分string到string[]。
我觉得你还是在用存储过程的思维在做ETL开发。如果按照你的思路去做,理论上是可以的但是如果你把数据处理放在了Control Flow实现,效率是大打折扣。那么你还不如写个存储过程算了
悟 - 取是能力,舍是境界 2015-06-24 回答
赞同来自:
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-06-24 回答
赞同来自:
还有查找的时候 匹配的逻辑是什么
superMark 2015-06-24 回答
赞同来自:
现在要做的分为几步
1:查询到源的记录,ole db
2:逗号拆分特俗字段,script task
3:遍历每个拆分后的结果,寻找mapping对的匹配结果,比如,4,5,6
4:重新赋值,更新到目的地
这个mapping对在转移这个数据已经已经构成,放在一个cache manager中,那么需要在script task中通过c#/vb查找cache中mapping
重新赋值。
现在的问题就是如何在script task/c#,vb中获取cache manager中的数据?好利用mapping对查找结果
希望我说明白了
谢谢
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-06-24 回答
赞同来自:
把这 1,2,3 拆分成3条记录,然后输出到流里面。
再用lookup对目标4,5,6 进行查找
下面链接可供参考:
http://www.cnblogs.com/tylerdo ... .html
部分代码,希望对你有所帮助:
superMark 2015-06-26 回答
赞同来自:
如果是利用output column这个有点困难,应该程序执行前不知道能拆分出多少的数据,可能是1,2也可能是1,2,3的原始数据
我现在的思路是:
利用foreach遍历每行数据,然后找到含有逗号分隔内容的column,这个是column是固定的
然后利用script task解析数据,但是不知道如何在script task中引用cache connection中的内容,这样我可以直接比对后
替换mapping内容
还请各位大拿多多给意见
谢谢
superMark 2015-07-10 回答
赞同来自: