Como importar dados de arquivos sequenciais

Nesta página, explicamos como importar uma série de arquivos sequenciais do Hadoop para o Cloud Bigtable. É preciso criar os arquivos sequenciais do Hadoop exportando uma tabela do HBase ou do Cloud Bigtable.

Você também pode usar um modelo do Cloud Dataflow para importar arquivos sequenciais do Cloud Storage.

Se você precisar importar dados CSV, consulte Importar um arquivo CSV para uma tabela do Cloud Bigtable.

Antes de começar

Para importar uma tabela para o Cloud Bigtable, você precisa concluir as seguintes tarefas:

  1. Exporte uma tabela do HBase ou do Cloud Bigtable.

    O processo de importação é o mesmo, não importa se você exportou a tabela do HBase ou do Cloud Bigtable.

  2. Verifique o armazenamento usado pela tabela original e se o cluster do Cloud Bigtable tem nodes suficientes para esse valor de armazenamento.

    Para detalhes sobre quantos nodes são necessários, consulte Utilização de armazenamento por node.

Como criar uma nova tabela do Cloud Bigtable

Para importar os dados, você precisa criar uma nova tabela vazia com os mesmos grupos de colunas da tabela exportada.

Para criar a nova tabela:

  1. Instale a ferramenta cbt:

    gcloud components update
    gcloud components install cbt
    
  2. Use o comando createtable para criar a tabela:

    cbt -instance [INSTANCE_ID] createtable [TABLE_NAME]
    
  3. Use o comendo createfamily quantas vezes forem necessárias para criar todos os grupos de colunas:

    cbt -instance [INSTANCE_ID] createfamily [TABLE_NAME] [FAMILY_NAME]
    

    Por exemplo, se o nome da tabela for my-table e você quiser adicionar o grupo de colunas cf1 e cf2:

    cbt -instance my-instance createfamily my-new-table cf1
    cbt -instance my-instance createfamily my-new-table cf2
    

Como importar a tabela

O Cloud Bigtable oferece um utilitário que usa o Cloud Dataflow para importar uma tabela de uma série de arquivos sequenciais do Hadoop.

Para importar a tabela:

  1. Faça download do arquivo JAR de importação/exportação, que inclui todas as dependências obrigatórias:

    curl -f -O http://repo1.maven.org/maven2/com/google/cloud/bigtable/bigtable-beam-import/1.10.0/bigtable-beam-import-1.10.0-shaded.jar
    
  2. Execute o comando a seguir para importar a tabela, substituindo os valores entre parênteses pelos valores apropriados. Para [TEMP_PATH], use um caminho do Cloud Storage que ainda não exista ou o mesmo caminho usado quando você exportou a tabela:

    java -jar bigtable-beam-import-1.10.0-shaded.jar import \
        --runner=dataflow \
        --project=[PROJECT_ID] \
        --bigtableInstanceId=[INSTANCE_ID] \
        --bigtableTableId=[TABLE_ID] \
        --sourcePattern='gs://[BUCKET_NAME]/[EXPORT_PATH]/part-*' \
        --tempLocation=gs://[BUCKET_NAME]/[TEMP_PATH] \
        --maxNumWorkers=[3x_NUMBER_OF_NODES] \
        --zone=[DATAFLOW_JOB_ZONE]
    

    Por exemplo, caso os clusters na instância do Cloud Bigtable tenham três nodes:

    java -jar bigtable-beam-import-1.10.0-shaded.jar import \
        --runner=dataflow \
        --project=my-project \
        --bigtableInstanceId=my-instance \
        --bigtableTableId=my-new-table \
        --sourcePattern='gs://my-export-bucket/my-table/part-*' \
        --tempLocation=gs://my-export-bucket/jar-temp \
        --maxNumWorkers=9 \
        --zone=us-east1-c
    

    O job de importação carrega os arquivos sequenciais do Hadoop na tabela do Cloud Bigtable. Você pode usar o console do Google Cloud Platform para monitorar o job de importação durante a execução.

    A mensagem Job finished with status DONE será exibida no console quando a tarefa for concluída.

Verificação dos resultados do processo de importação

Você pode verificar se a tabela foi importada usando a ferramenta cbt para contar o número de linhas na tabela:

cbt -instance [INSTANCE_ID] count [TABLE_NAME]

O comando imprime o número total de linhas na tabela. Verifique se o número total de linhas é compatível com o número de linhas na tabela exportada.

Próximas etapas

Saiba como exportar arquivos sequenciais do HBase ou do Cloud Bigtable.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Bigtable