要从AWS Athena中获取唯一数据,可以使用DISTINCT关键字来查询。以下是一个使用AWS SDK for Python(Boto3)的示例代码,该代码使用AthenaClient执行SQL查询并获取唯一数据:
import boto3
# 创建 Athena 客户端
client = boto3.client('athena', region_name='us-west-2')
# 执行查询
def execute_query(query):
response = client.start_query_execution(
QueryString=query,
QueryExecutionContext={
'Database': 'your_database_name' # 替换为你的数据库名称
},
ResultConfiguration={
'OutputLocation': 's3://your_bucket_name/' # 替换为你的S3存储桶名称
}
)
return response['QueryExecutionId']
# 获取唯一数据
def get_unique_data(query_execution_id):
response = client.get_query_results(
QueryExecutionId=query_execution_id
)
# 提取唯一数据
unique_data = set()
for row in response['ResultSet']['Rows'][1:]:
unique_data.add(row['Data'][0]['VarCharValue'])
return unique_data
# 执行查询并获取唯一数据
query = 'SELECT DISTINCT column_name FROM table_name' # 替换为你的查询语句和表名
query_execution_id = execute_query(query)
unique_data = get_unique_data(query_execution_id)
# 打印唯一数据
for data in unique_data:
print(data)
请注意,上述示例假设你已经配置了AWS CLI凭证,或者将访问密钥和密钥ID配置为环境变量。另外,你需要替换代码中的"your_database_name","your_bucket_name","column_name"和"table_name"为你自己的值。