我有一个使用matillion在红移中创建光谱表的场景。我的CSV文件数据是这样的:-
column1,column2,column3
abc,"qwety,pqr",xyz但在光谱表中,我看到的数据是
column1 column2 column3
abc qwerty pqrMatillion不是将报价值作为一个值。你能建议一下如何使用matillion的外部表组件来实现这一点吗?
发布于 2020-06-15 17:59:07
基本上,您希望为您的数据指定CSV报价参数。
Redshift有两种指定外部表的方式(参见Redshift Docs for reference):
使用默认内置SerDes和属性指定
ROW FORMAT DELIMITED、FIELDS TERMINATED BY
ROW FORMAT SERDE、WITH SERDEPROPERTIES我不认为可以使用内置的SerDes来指定引用参数。
可以使用org.apache.hadoop.hive.serde2.OpenCSVSerde (有关其属性的详细信息,请使用look here)指定它们,但要注意它存在已知的问题,如this SO question中所述。
适用于Metillion的Now
我从来没有使用过Matillion,但是看看他们的Redshift External Table documentation page,似乎只能指定FORMAT和FIELD TERMINATOR,而不能指定SerDe及其属性,因此无法为外部表指定引用参数-除非有一些未记录的方法来指定自定义SerDe。
个人注释:我们在摄取存储为CSV的数据时遇到了许多问题,我们基本上会尽量避免这种情况。CSV没有标准,每个工具都实现了自己版本的支持,而且很难说服所有工具以相同的方式查看数据。
https://stackoverflow.com/questions/62330938
复制相似问题