Este tópico descreve como usar o Hive em um cluster do E-MapReduce (EMR) para processar dados armazenados no OSS-HDFS.
Pré-requisitos
Crie um cluster do EMR V3.42.0 ou posterior, ou do EMR V5.8.0 ou posterior, e selecione o Hive service. Para mais informações, consulte Crie a cluster.
Ative o OSS-HDFS para um bucket e conceda as permissões de acesso ao OSS-HDFS. Para mais informações sobre como ativar o OSS-HDFS, consulte Ative OSS-HDFS and grant access permissions.
Procedimento
-
Execute o seguinte comando no terminal para se conectar ao Hive.
Para outros métodos de conexão, consulte Hive connection methods.
hive -
Execute o seguinte comando no terminal para se conectar ao Hive.
Para outros métodos de conexão, consulte Hive connection methods.
hive -
Adicione partições a uma tabela existente.
Você pode adicionar partições a uma tabela existente para armazenar os dados da tabela em unidades menores. Especifique condições de consulta com base nas partições. Dessa forma, o sistema verifica apenas as partições que atendem às condições especificadas, o que melhora o desempenho da consulta.
-
Sintaxe do comando
ALTER TABLE <table_name> ADD [IF NOT EXISTS] PARTITION <pt_spec> [PARTITION <pt_spec> PARTITION <pt_spec>...] LOCATION 'location';A tabela a seguir descreve os parâmetros do comando anterior.
Parâmetro
Obrigatório
Descrição
table_name
Sim
O nome da tabela à qual você deseja adicionar partições.
IF NOT EXISTS
Não
Parâmetro que ignora o erro caso a tabela já contenha uma partição com o mesmo nome. Se você não especificar o parâmetro IF NOT EXISTS e já existir uma partição com o mesmo nome da partição que deseja adicionar, a operação falhará e um erro será retornado.
pt_spec
Sim
As partições que você deseja adicionar. O valor deste parâmetro segue o formato
(partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...). Nesse formato,partition_colrepresenta os nomes das colunas de chave de partição epartition_col_valuerepresenta seus valores. Os nomes das colunas de chave de partição não diferenciam maiúsculas de minúsculas, mas seus valores diferenciam.location
Sim
O caminho do OSS usado para armazenar dados em uma partição.
-
Exemplos
O código de exemplo a seguir mostra como adicionar uma partição a uma tabela chamada sale_detail para armazenar os registros de vendas na região china (Hangzhou) em dezembro de 2021 e especifique o caminho do OSS usado para armazenar os dados na partição:
ALTER TABLE sale_detail ADD IF NOT EXISTS PARTITION (sale_date='202112', region='hangzhou') LOCATION 'oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/path/2021/';
-