【问题标题】:Special characters in AWS Athena show up as question marksAWS Athena 中的特殊字符显示为问号
【发布时间】:2019-01-17 21:01:06
【问题描述】:

我在 AWS Athena 中从 csv 文件中添加了一个表,该表使用特殊字符“æøå”。这些在输出中显示为 �。 csv 文件使用 unicode 进行编码。我也尝试将编码更改为 UTF-8,但没有成功。 我已经在 S3 中上传了 csv,然后使用以下 DDL 将表添加到 Athena:

CREATE EXTERNAL TABLE `regions_dk`(
  `postnummer` string COMMENT 'from deserializer', 
  `kommuner` string COMMENT 'from deserializer', 
  `regioner` string COMMENT 'from deserializer')
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.serde2.OpenCSVSerde' 
WITH SERDEPROPERTIES ( 
  'separatorChar'='\;') 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  's3://bucket/path'
TBLPROPERTIES (
  'classification'='csv')

我有另一个表,其中还包含字符“æøå”,我使用 ETL 脚本添加了它,这里没有问题。

我忽略了什么?

【问题讨论】:

  • 我建议对文本进行base64编码,如果你找不到更好的解决方案:)
  • 您确定文件编码是 UTF-8 吗?刚刚尝试使用示例中包含的字符并按预期工作。但是,如果我在 WIN 10 上运行的 Excel 中创建 csv(默认编码不是 UTF-8),我会得到你提到的那些意外字符。
  • @PeterKoncz - 是的,由于某种原因,我的编码错误。我以为我改成了 UTF-8,但不知何故搞砸了 :) 感谢您的回复
  • 在列中添加评论时遇到同样的问题

标签: sql amazon-web-services ddl amazon-athena presto


【解决方案1】:

我上传了一个ANSI编码的文件到S3,还有几个不可读的数据,我把文件的编码从PC改成了UTF-8,我又做了一遍,一切都很好。

我是用 sublimetext 做的。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2013-11-21
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 2019-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多