HIVE_CANNOT_OPEN_SPLIT: Ошибка при открытии Hive split s3: //***/date=2020-05-28/hour=20/part-00000-.c000.snappy.parquet (offset = 0, length = 22009): - PullRequest
1 голос
/ 29 мая 2020
def lambda_handler(event, context):

    # created query
    query = "SELECT * FROM %s.%s limit 50;" % (DATABASE, TABLE)

    # athena client
    client = boto3.client('athena')

    # Execution
    response = client.start_query_execution(
        QueryString=query,
        QueryExecutionContext={
            'Database': DATABASE
        },
        ResultConfiguration={
            'OutputLocation': S3_OUTPUT,
        }
    )

    # get query execution id
    query_execution_id = response['QueryExecutionId']
    print(query_execution_id)

    # get execution status
    for i in range(1, 1 + RETRY_COUNT):

        # get query execution
        query_status = client.get_query_execution(QueryExecutionId=query_execution_id)
        query_execution_status = query_status['QueryExecution']['Status']['State']

        if query_execution_status == 'SUCCEEDED':
            print("STATUS:" + query_execution_status)
            break

        if query_execution_status == 'FAILED':
            raise Exception("STATUS:" + query_execution_status)
        else:
            print("STATUS:" + query_execution_status)
            time.sleep(100)
    else:
        client.stop_query_execution(QueryExecutionId=query_execution_id)
        raise Exception('TIME OVER')

    # get query results
    result = client.get_query_results(QueryExecutionId=query_execution_id)
    print(result)

    # get data
    if len(result['ResultSet']['Rows']) == 2:

        email = result['ResultSet']['Rows'][1]['Data'][1]['VarCharValue']

        return email

    else:
        return None

Сообщение об ошибке:

HIVE_CANNOT_OPEN_SPLIT: Ошибка при открытии Hive split s3: // ************* / ****** / date = 2020-05-28 / час = 20 / part-00000-af4a5ab5-d8f9-4868-a974-90b3c2433366.c000.snappy.parquet (offset = 0, length = 22009):

  1. Появляется указанная выше ошибка, и я понятия не имею, что происходит. Пытался просканировать некоторые другие ресурсы, но не нашел их.
  2. Я пытаюсь запустить лямбда-функцию aws, которая считывает данные snappy.parquet и записывает результаты в S3.
...