Ssis ETL:如何猜测有大量空值的混乱CSV的数据类型
我经常需要清理和导入凌乱的CSV和Excel文件到我的MS SQL Server 2014中(但如果我使用Oracle或其他数据库,问题也会一样) 我已经找到了一种方法来使用Alteryx。你能帮我理解我是否能用Pentaho水壶或SSI做同样的事情吗?或者,你能推荐另一个ETL软件来解决我下面的问题吗Ssis ETL:如何猜测有大量空值的混乱CSV的数据类型,ssis,etl,Ssis,Etl,我经常需要清理和导入凌乱的CSV和Excel文件到我的MS SQL Server 2014中(但如果我使用Oracle或其他数据库,问题也会一样) 我已经找到了一种方法来使用Alteryx。你能帮我理解我是否能用Pentaho水壶或SSI做同样的事情吗?或者,你能推荐另一个ETL软件来解决我下面的问题吗 我经常有表,比如100000条记录,其中前90000条记录可能为空。大多数ETL工具只扫描前几百条记录来猜测数据类型,因此无法猜测这些字段的类型。我可以强制Pentaho或SSI在猜测类型之前扫
谢谢大家! 一个愚蠢的建议。在Excel中,在列表顶部添加一行,该行包含一个公式,用于创建与列中最长值长度相同的文本字符串 作为数组公式输入的此公式将执行此操作
=REPT("X",MAX(LEN(A:A)))
您还可以使用更高级的VBA函数创建其他虚拟值,以强制SSI中的数据类型
我没有使用SSIS或类似的东西,但在过去,我会将一个文件加载到一个包含所有varchar 1000列的表中,以便加载所有数据,然后使用SQL将其处理到主表中,根据需要强制转换或删除数据值
这将为您提供最终控制,而不是包或驱动程序。听到这个消息我非常惊讶 一个愚蠢的建议。在Excel中,在列表顶部添加一行,该行包含一个公式,用于创建与列中最长值长度相同的文本字符串 作为数组公式输入的此公式将执行此操作
=REPT("X",MAX(LEN(A:A)))
您还可以使用更高级的VBA函数创建其他虚拟值,以强制SSI中的数据类型
我没有使用SSIS或类似的东西,但在过去,我会将一个文件加载到一个包含所有varchar 1000列的表中,以便加载所有数据,然后使用SQL将其处理到主表中,根据需要强制转换或删除数据值
这将为您提供最终控制,而不是包或驱动程序。听到这个消息我非常惊讶 使用IMEX阅读Excel会有所帮助。有关更多详细信息,请参阅下面的文章[你确定没有限制吗?例如,如果我按照文章建议修改注册表,Excel真的会扫描100000条记录文件中的所有记录吗?SSIS中CSV文件的连接管理器在“建议类型”框中有“行数”输入,但也有上限-根据软件类型,上限为1000或10000条记录e版本在这种情况下,我一直非常喜欢使用Awk对文件进行采样,以便将更具代表性的选择传递到暂存中:
Awk'BEGIN{srand()}!/^$/{if(rand())@Pythonista anonymous。我以前采用此解决方案时,不需要更改注册表,但我的问题恰恰出现在绝大多数记录为空,并且只填充了一小部分记录的情况下。这意味着采样可能会产生每个记录都为空的样本…读取使用IMEX编辑Excel会有所帮助。有关更多详细信息,请参阅下面的文章[你确定没有限制吗?例如,如果我按照文章建议修改注册表,Excel真的会扫描100000条记录文件中的所有记录吗?SSIS中CSV文件的连接管理器在“建议类型”框中有“行数”输入,但也有上限-根据软件类型,上限为1000或10000条记录e版本在这种情况下,我一直非常喜欢使用Awk对文件进行采样,以便将更具代表性的选择传递到暂存中:Awk'BEGIN{srand()}!/^$/{if(rand())@Pythonista anonymous。我以前采用此解决方案时不需要更改注册表,但我的问题恰恰出现在绝大多数记录为空,并且只填充了一小部分记录的情况下。这意味着采样可能会产生每个记录都为空的样本…我哈我在小文件上做了一些非常类似的事情,但我希望ETL工具尽可能地自动化它,因为当使用Excel无法处理的文件时,或者使用太多的表(例如,10个表,每个表有50个字段)时,这种方法很乏味,或者根本不可行我在小文件上也做过类似的事情,但我希望ETL工具尽可能地将其自动化,因为当使用Excel无法处理的文件时,或者使用太多的表(例如,10个表,每个表有50个字段)时,这种方法很乏味,或者根本不可行