我使用pyathena库和以下函数从AWS Athena中提取数据:
def import_ben_datalake(ACCESS_KEY, SECRET_KEY, S3_DIR, REGION, start, end):
conn = pyathena.connect(aws_access_key_id = ACCESS_KEY,
aws_secret_access_key = SECRET_KEY,
s3_staging_dir = S3_DIR,
region_name = REGION)
sql = f"""SELECT columns
FROM table
WHERE column_datetime BETWEEN PARSE_DATETIME('{start.strftime("%Y-%m-%d")}', 'YYYY-MM-DD')
AND PARSE_DATETIME('{end.strftime("%Y-%m-%d")}', 'YYYY-MM-DD')"""
df = pd.read_sql(sql, conn)
conn.close()
return df
开始和结束参数是datetime.date
变量,如下所示:
start_test = datetime.date(2020, 11, 22)
end_test = datetime.date(2020, 11, 28)
两者都是今年11月的日期,但当我调用该函数时,它将返回2020-1-22和2020-1-28之间的所有值
任何帮助都可以解决这个问题
请遵循解决我的问题的参数化查询示例:
相关问题 更多 >
编程相关推荐