Nesta
postagem, mostramos como usar criar um job do Cloud Dataproc, por linha de
comando e no console do Google Cloud. |
É a plataforma de big data totalmente
gerenciado, para processar grandes quantidades de dados com rapidez, de forma
econômica e em grande escala. Usando ferramentas de código aberto como o Apache
Spark, o Apache Hive, o Apache Hadoop e o Apache Pig combinadas Ã
escalabilidade dinâmica do Compute Engine e ao armazenamento escalável do Cloud
Storage, o Dataproc oferece à s equipes analÃticas os mecanismos e a
elasticidade para executar análises na escala de petabytes por uma fração do
custo dos clusters locais tradicional, além de ser facilmente incorporado
a outros serviços do Google Cloud Platform (GCP).
O que é
um Job?
Dentro do
Dataproc, o Job seria um código que é executado dentro de um cluster, atualmente
são aceitos diversos tipos, entre eles os principais são:
· Spark;
· SparkR;
· PySpark;
· Hive;
· SparkSql;
· Pig;
· Presto.
Passo a
Passo - Linha de comando
1. O primeiro passo a fazer é o login em sua conta do GCP, para este
tutorial você vai precisar de uma conta que possua um projeto.
2. Vá até a barra superior e clique no Ãcone do Cloud Shell, igual a imagem abaixo.
3. Agora temos que preparar as variáveis de ambiente que usaremos nos outros passos:
6. Nesse passo vamos definir a Região a ser usada dentro do cloud shell com base na variável que definimos antes:
gcloud config set compute/region $REGION
8. Com o código abaixo a api do dataproc será habilitada, caso já esteja
pode desconsiderar:
9. Caso não exista, crie um cluster do dataproc com o comando abaixo:
--image-version 1.3 \
--region $REGION \
--subnet default \
--master-machine-type n1-standard-1
\
--master-boot-disk-size 500 \
--num-workers 2 \
--worker-machine-type
n1-standard-1 \
--worker-boot-disk-size 500 \
--project $PROJECT
A propriedade “subnet” faz referência a sub-rede que usaremos no
cluster.
A propriedade “master-machine-type” permite selecionar o tipo de máquina a ser usado pelo master.
A propriedade “worker-machine-type” permite selecionar o tipo de máquina a ser usado pelos workes.
A propriedade “project” especifica em qual projeto será criado o cluster.
--cluster meu-cluster \
--region $REGION \
--execute "CREATE TABLE
teste
(dt_teste DATE, id DOUBLE,
nm_teste STRING)
STORED AS PARQUET"
·
A propriedade “submit” faz referência ao tipo de job que vamos
executar, pode-se substituir o valor “hive” por “spark” ou “spark-sql”
por exemplo.
2. Vá até a barra superior e clique no Ãcone do Menu, igual a imagem abaixo.
3. Na lista que vai aparecer, selecione “Dataproc”:
5. Digite um nome para seu cluster, selecione a região, zona, modo de
cluster, quantidade de nós:
7. Quando o cluster for criado selecione “Jobs”:
8. Selecione “Enviar Job”:
As propriedades são:
- ID do job – identificador do job dentro do dataproc.
· Cluster – O nome do Cluster que será executado o Job.
· Tipo de job – Define qual será o tipo de job a ser executado, exemplo: Hive, Spark ou Pig.
· Tipo de origem de consulta – Possui duas opções:
1. “Arquivo de consulta” - Um arquivo externo que contém o código que será executado.
2. “Texto de consulta” – Aparecerá um campo abaixo para colocar o código direto no Job, semelhante ao campo “execute” da linha de comando.
· Continuar em caso de falha – Caso outro Job tenha uma dependência deste, permite selecionar se deve ou não continuar a malha de execução.
· Arquivos jar – Arquivos necessários para a execução.
Neste exemplo podemos executar o comando “SHOW DATABASES” do Hive:
10. Clique no Id do seu job:
11. Na tela abaixo podemos ver o Log da execução ou obter o código para executar na linha de comando:
Referências
· Using Apache Hive on Cloud Dataproc
https://cloud.google.com/solutions/using-apache-hive-on-cloud-dataproc
·
Dataproc documentation
https://cloud.google.com/dataproc/docs
·
Submit a job
https://cloud.google.com/dataproc/docs/guides/submit-job