我正在尝试将CSV中的某些数据导入如下所示的AWS Athena中。
然后我在表中查看数据时 test_job_id 将数据四舍五入为1550000000000。有人知道我如何获取 test_job_id 的完整值,例如1546910000000每次都圆吗?
这是雅典娜使用的创建表查询:
CREATE EXTERNAL TABLE IF NOT EXISTS automation_test_results.automation_test_results (
`test_job_id` decimal(13),
`testrail_id` string,
)
更新:我现在正在TextEdit中查看文件。数据如下所示。当我将其上传到雅典娜时,我现在在test_job_id
列中的每一行都得到了一个空正方形。数据如下:
如果我为test_job_id的类型指定string
,我确实可以正确看到这些值,但我希望它是一些数值。
答案 0 :(得分:2)
通过一些实验,我能够导入您的数据如果我从十进制数字中删除了引号。我的表格创建如下:
CREATE EXTERNAL TABLE IF NOT EXISTS athena_test.s3data (
`test_job_id` decimal,
`testrail_id` string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = ',',
'field.delim' = ','
) LOCATION 's3://the-bucket/athena/'
TBLPROPERTIES ('has_encrypted_data'='false');
数据如下:
1547559017125, "@C665"
1547559017126, "@C666"
1547559017127, "@C667"
如果我尝试使用org.apache.hadoop.hive.serde2.OpenCSVSerde
作为行格式,尽管我不太熟悉这样做,但似乎并没有喜欢它。
反正有没有生成您的CSV且在小数点后没有引号的情况?