O EMR Serverless Spark conecta-se a um serviço externo do Hive Metastore, permitindo o acesso aos dados armazenados. Configure essa conexão no workspace para gerencie e utilizar os recursos de dados com eficiência.
Pré-requisitos
Crie um workspace e uma sessão SQL. Para mais informações, consulte Create a workspace e Manage SQL sessions.
Limitações
Para usar o serviço do Hive Metastore, reinicie todas as sessões existentes no workspace.
Ao definir um serviço do Hive Metastore como catálogo de dados padrão, as tarefas de workflow passarão a usá-lo.
Procedimento
Etapa 1: Preparar o serviço do Hive Metastore
Este exemplo usa um serviço do Hive Metastore do EMR on ECS. Se você já tiver um serviço do Hive Metastore na VPC, pule esta etapa.
Na página do EMR on ECS, crie um cluster DataLake que inclua o serviço Hive e defina Metadata como Built-in MySQL. Para mais informações, consulte Create a cluster.
Use SSH para fazer login no nó mestre do cluster. Para mais informações, consulte Log on to a cluster.
-
Execute o comando a seguir para acessar a CLI do Hive:
hive -
Execute os comandos abaixo para criar uma tabela chamada
dw_usersno Object Storage Service (OSS) e inserir dados nela:CREATE TABLE `dw_users`( `name` string) LOCATION 'oss://<yourBucket>/path/to/file'; INSERT INTO dw_users select 'Bob';
Etapa 2: Adicionar uma conexão de rede
-
Acesse a página de conexão de rede.
Faça login no console do EMR.
No painel de navegação à esquerda, escolha EMR Serverless > Spark.
Na página Spark, clique em no nome do workspace desejado.
Na página EMR Serverless Spark, clique em Normal Network Connection no painel de navegação à esquerda.
Na página Normal Network Connection, clique em Create Network Connection.
-
Na caixa de diálogo Create Network Connection, configure os parâmetros a seguir e clique em OK.
Parâmetro
Descrição
Name
Insira um nome para a nova conexão.
VPC
Selecione a mesma VPC do cluster EMR.
vSwitch
Escolha um vSwitch na mesma VPC do cluster EMR.
Um Status como Succeeded indica que a conexão de rede foi adicionada com sucesso.
Etapa 3: Abrir a porta do serviço do Hive Metastore
-
Obtenha o bloco CIDR do vSwitch da conexão de rede.
Faça login no console da VPC e acesse a página vSwitch para obter o bloco CIDR do vSwitch.
-
Adicione uma regra de grupo de segurança.
Faça login no console do EMR on ECS.
Na página EMR on ECS, clique em no ID do cluster desejado.
Na página Basic Information, clique em no link ao lado de Cluster Security Group.
-
Na página Security Group, clique em Add Rule. Especifique a Source e a Port e, em seguida, clique em OK.
Parâmetro
Descrição
Port
Insira
9083.Source
Insira o bloco CIDR do vSwitch obtido na etapa anterior.
ImportantePara evitar riscos de segurança decorrentes de ataques externos, não defina a Source como 0.0.0.0/0.
Etapa 4: Conectar ao Hive Metastore
Na página EMR Serverless Spark, clique em Catalogs no painel de navegação à esquerda.
Na página Catalogs, clique em Add Catalog.
-
Na caixa de diálogo exibida, clique em External Hive Metastore, configure as informações a seguir e clique em OK. Na aba External Hive Metastore, insira
hive_metastoreno campo Data Catalog Name e configure os parâmetros abaixo.Parâmetro
Descrição
Normal Network Connection
Selecione a conexão de rede adicionada na Etapa 2.
Metastore service address
URI do serviço do Hive Metastore. O formato é
thrift://<IP address of Hive metastore>:9083.O
<IP address of Hive metastore>corresponde ao endereço IP interno do nó mestre no cluster EMR on ECS. Encontre essa informação na página Nodes do cluster.NotaSe o serviço do Hive Metastore usar alta disponibilidade (HA), insira as URIs de todos os nós relevantes, separadas por vírgulas (,). Exemplo:
thrift://<IP address of Hive metastore 1>:9083,thrift://<IP address of Hive metastore 2>:9083.Kerberos keytab file
Caminho para o arquivo keytab do Kerberos.
Kerberos principal
Nome do principal no arquivo keytab, usado para autenticação com o serviço Kerberos. Execute o comando
klist -kt <keytab_file>para visualize o principal no arquivo keytab.
Etapa 5: Usar o Hive Metastore
Na página Catalogs, localize a entrada
hive_metastoree clique em Set as default na coluna Actions para defini-la como o catálogo de dados padrão do workspace.-
Reinicie a sessão SQL.
Se houver uma sessão SQL em execução no workspace, reinicie-a para que as configurações do
hive_metastoreentrem em vigor. -
Consulte dados da tabela
hive_metastoreno job SparkSQL.Crie um job de desenvolvimento SparkSQL. Para mais informações, consulte SparkSQL development.
-
Execute o comando a seguir para consultar a tabela
dw_usersno serviço do Hive Metastore:SELECT * FROM dw_users;A consulta retorna um registro com o valor
Bobna colunaname.