Amazon redshift 红移外部表中的转义引号

Amazon redshift 红移外部表中的转义引号,amazon-redshift,amazon-redshift-spectrum,Amazon Redshift,Amazon Redshift Spectrum,我正在尝试从一个csv中创建一个红移的外部表,该csv中有引号转义引号,如中所述: 如果使用双引号括起字段,则使用双引号 出现在字段内的必须通过在其前面加上另一个字段进行转义 双引号 例如:“aaa”、“b”、“bb”、“ccc” 我没有得到任何错误,但是最后一个表的字符串应该在null值的位置 在创建外部表时,是否有方法告诉Redshift理解此csv格式 我不想更改csv文件的格式 示例csv: "some ""text""",some more text,"more, text",and

我正在尝试从一个csv中创建一个红移的外部表,该csv中有引号转义引号,如中所述:

如果使用双引号括起字段,则使用双引号 出现在字段内的必须通过在其前面加上另一个字段进行转义 双引号

例如:“aaa”、“b”、“bb”、“ccc”

我没有得到任何错误,但是最后一个表的字符串应该在
null
值的位置

在创建外部表时,是否有方法告诉Redshift理解此csv格式

我不想更改csv文件的格式


示例csv:

"some ""text""",some more text,"more, text",and more

外部表创建示例:

create external table spectrum.spectrum_test_quote(
  a varchar(32),
  b varchar(32),
  c varchar(32),
  d varchar(32)
)
row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
with serdeproperties (
  'separatorChar' = ',',
  'quoteChar' = '\"',
  'escapeChar' = '\\'
)
stored as textfile
location 's3://';

预期成果:

  • 字段a:一些“文本”
  • 字段b:更多文本
  • 字段c:更多,文本
  • d场:还有更多
实际结果:

  • 字段a:
    null
  • 字段b:更多文本
  • 字段c:更多,文本
  • d场:还有更多

您能检查胶水/雅典娜是否正常工作吗?您能否检查org.apache.hadoop.hive.serde2.RegexSerDe是否能更好地执行此操作?(您需要设置一个好的“input.regex”我们在CSV上遇到了类似的问题。Redshift没有显示数据,但Athena显示了数据。幸运的是,我们能够获得与JSON相同的数据,我们做到了。我很想知道您是否有办法解决这个问题。@botchniaque到目前为止还没有解决方案。我可以用AVRO而不是CSV来获取数据,所以我想“我要走那条路了。