我已从 csv 文件在 AWS Athena 中添加了一个表,该表使用特殊字符“æøå”。这些在输出中显示为 �。 csv 文件使用 unicode 进行编码。我也尝试过将编码更改为 UTF-8,但没有成功。 我已将 csv 上传到 S3 中,然后使用以下 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 脚本添加的,这里没有问题。
我忽略了什么?
我上传了一个ANSI编码的文件到S3,留下了一些无法读取的数据,我将文件的编码从PC更改为UTF-8,我再次执行该过程,一切都很好。
我用 sublimetext 做到了。