【问题标题】:Can an Athena table with only certain columns be created?可以创建仅包含某些列的 Athena 表吗?
【发布时间】:2023-04-03 21:00:01
【问题描述】:

我有一组文件,其中的列比我们实际需要的多。其中,包含的列和顺序可能是可变的。使用此表创建:

CREATE EXTERNAL TABLE `test1column`(
`column3` string)
ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ',' 
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  's3://bucketpath/folder'
TBLPROPERTIES (
  'has_encrypted_data'='false', 
  'transient_lastDdlTime'='1524150460')

Athena 只是拉入第一列,因此输出最终为:

column3
---------
column1
val1
val2
val3

我正在以编程方式创建这些表,因此我希望不必通读每个列名并创建一个包含比我需要的更多数据的表。如果无法使用 Athena 仅将某些列映射到表中,那么我想我必须这样做。

【问题讨论】:

    标签: amazon-web-services aws-sdk amazon-athena


    【解决方案1】:

    我认为不,您必须创建一个包含所有列的表,然后在从该表中选择数据时指定列。

    【讨论】:

    • 是的,我一直在查找有关 Hadoop.Hive(Athena 的基础)的资料,它的 SerDes 似乎没有该功能
    猜你喜欢
    • 2011-02-28
    • 1970-01-01
    • 2019-11-21
    • 2023-04-10
    • 2021-09-26
    • 2010-10-25
    • 2011-03-26
    • 1970-01-01
    相关资源
    最近更新 更多