Sql Amazon Athena从该方向获取所有文件,而不是一个文件

Sql Amazon Athena从该方向获取所有文件,而不是一个文件,sql,amazon-athena,Sql,Amazon Athena,我正在编写一个查询,以便在AmazonAthena上创建一个表,该表从S3目录的文件中获取数据。但是,我想从一个文件而不是目录中的所有文件创建一个表 如果输入位置“s3://influx cold storage/2018/file1.csv”,则会出现位置错误。对其用法的描述如下: Athena读取您在CREATETABLE语句中指定的AmazonS3位置中的所有文件,并且不能忽略前缀中包含的任何文件。创建表时,在AmazonS3路径中只包含希望Athena读取的文件。使用AWS Lambda

我正在编写一个查询,以便在AmazonAthena上创建一个表,该表从S3目录的文件中获取数据。但是,我想从一个文件而不是目录中的所有文件创建一个表

如果输入位置“s3://influx cold storage/2018/file1.csv”,则会出现位置错误。

对其用法的描述如下:

Athena读取您在CREATETABLE语句中指定的AmazonS3位置中的所有文件,并且不能忽略前缀中包含的任何文件。创建表时,在AmazonS3路径中只包含希望Athena读取的文件。使用AWS Lambda函数扫描源位置中的文件,删除任何空文件,并将不需要的文件移动到其他位置

并指定不使用文件的精确路径和通配符(如*)

您必须将所需的任何确切文件放入它自己的目录中

我编写了一个quick bash脚本,该脚本将当前目录中的所有文件移动到相同名称的目录中,无需扩展名即可解决问题:

#!/bin/bash

echo "INFO - Moving all files in current directory to directory of same name."

for file in ./*; do
    [[ -d "$file" ]] && continue 
    fname=`basename $file`
    dname=${fname%.*}
    echo "INFO - Creating directory $dname"
    mkdir "$dname"
    [[ $? -eq 0 ]] && echo "INFO - $dname created" || echo "WARN - $fname directory already exists."
    echo "INFO - Moving $fname to ${dname}/${fname}"
    mv "$file" "${dname}/${fname}"
    [[ $? -eq 0 ]] && echo "INFO - $fname moved successfully." || echo "WARN - Possibly failed. Checkfor $fname in $dname directory."
done