Как выполнить список запросов куста, который находится в хранилище gcp (в моем случае gs: /hive/hive.sql ") при отправке задания куста в кластер dataproc - PullRequest
0 голосов
/ 19 ноября 2018

Здесь я пишу запросы в queryList, который находится под hiveJob.

Чтобы отправить работу Hive в кластер dataproc

def submit_hive_job(dataproc, project, region,
                       cluster_name):
    job_details = {
        'projectId': project,
        'job': {
            'placement': {
                'clusterName': cluster_name
            },
            "hiveJob": {
                "queryList": {
                    ###
                    how can i execute .sql file here which is in bucket
                    ####
                    "queries": [
                        "CREATE TABLE IF NOT EXISTS sai ( eid int, name String, salary String, destination String)",
                        "Insert into table sai values (26,'Shiv','1500','ac')"
                    ]
                }
            }
        }
    }
    result = dataproc.projects().regions().jobs().submit(
        projectId=project,
        region=region,
        body=job_details).execute()
    job_id = result['reference']['jobId']
    print('Submitted job Id {}'.format(job_id))
    return job_id

*Файл 1010 * hive.sql, который находится в корзине

create table employee ( employeeid: int, employeename: string, salary: float) rows format delimited fields terminated by ‘,’ ;
describe employee;
select * from employee;

1 Ответ

0 голосов
/ 22 ноября 2018

Я обнаружил, что мы можем сохранить файл .sql в корзине, а затем указать queryFileUri, как показано ниже

"hiveJob": {
 "queryFileUri":"gs://queryfile/test.sql"             
}
...