Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 可以创建只有特定列的雅典娜表吗?_Amazon Web Services_Aws Sdk_Amazon Athena - Fatal编程技术网

Amazon web services 可以创建只有特定列的雅典娜表吗?

Amazon web services 可以创建只有特定列的雅典娜表吗?,amazon-web-services,aws-sdk,amazon-athena,Amazon Web Services,Aws Sdk,Amazon Athena,我有一组文件的列比我们实际需要的多。其中,包含的列和顺序可能是可变的。使用此表创建: CREATE EXTERNAL TABLE `test1column`( `column3` string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoo

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

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')
雅典娜只是拉入第一列,因此输出结果是:

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

我以编程方式创建这些表,这样我就不必通读每一个列名,也不必创建一个包含比我需要的更多数据的表。如果不能用Athena将某些列映射到一个表中,那么我想我必须这样做。

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

是的,我一直在查找Hadoop.Hive(Athena的基础)的相关信息而且SerDes似乎没有这种功能