Sql Amazon Athena从该方向获取所有文件,而不是一个文件
我正在编写一个查询,以便在AmazonAthena上创建一个表,该表从S3目录的文件中获取数据。但是,我想从一个文件而不是目录中的所有文件创建一个表 如果输入位置“s3://influx cold storage/2018/file1.csv”,则会出现位置错误。对其用法的描述如下: Athena读取您在CREATETABLE语句中指定的AmazonS3位置中的所有文件,并且不能忽略前缀中包含的任何文件。创建表时,在AmazonS3路径中只包含希望Athena读取的文件。使用AWS Lambda函数扫描源位置中的文件,删除任何空文件,并将不需要的文件移动到其他位置 并指定不使用文件的精确路径和通配符(如*) 您必须将所需的任何确切文件放入它自己的目录中 我编写了一个quick bash脚本,该脚本将当前目录中的所有文件移动到相同名称的目录中,无需扩展名即可解决问题: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
#!/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