O mecanismo de tabela ampla do Lindorm permite conexões por meio da API HBase não Java em linguagens como C++, Python e Go. Este tópico descreve o procedimento.
Pré-requisitos
Baixe o pacote de instalação do Thrift.
Obtenha o endpoint de Access by Using HBase non-Java API para o LindormTable. Para mais informações, consulte Visualizar endpoints. Faça login no console do Lindorm. Na página de detalhes da instância, selecione a aba Wide Table Engine, expanda a seção HBase-compatible Endpoints e obtenha o endpoint de Virtual Private Cloud (VPC) ou de rede pública na seção HBase non-Java API. A porta é 9190.
Conectar ao LindormTable usando a API do ApsaraDB for HBase com uma linguagem não Java, como Python
Para mais informações sobre como usar o pacote de instalação do Thrift, consulte a documentação oficial do Apache Thrift. Para acessar o mecanismo de tabela ampla do Lindorm via Thrift, siga estas etapas:
-
Execute o comando a seguir para gerar um arquivo IDL (Interface Definition Language) na linguagem desejada, usando o arquivo de definição Thrift2 do ApsaraDB for HBase:
thrift --gen <language> Hbase.thriftNotaO espaço reservado
languagerepresenta a linguagem de programação de destino, como python, php, cpp ou py.Exemplo de comando:
thrift --gen py Hbase.thrift -
Crie um cliente para acessar o mecanismo de tabela ampla do Lindorm.
O servidor Thrift no Lindorm usa HTTP na camada de transporte. Portanto, o ThttpClient do Thrift é obrigatório ao criar o cliente. O método de criação varia conforme a linguagem. Se a Access Control List (ACL) estiver ativada, especifique o nome de usuário e a senha em dois cabeçalhos do ThttpClient para autenticação. Caso a ACL esteja desativada, essas credenciais serão dispensáveis. O Thrift permite chamar uma função específica da linguagem para definir cabeçalhos personalizados no ThttpClient. O exemplo a seguir usa Python. Execute os comandos abaixo para criar um cliente e conectar-se ao LindormTable:
# -*- coding: utf-8 -*- # The following two modules are generated by running the 'pip install thrift' command. from thrift.protocol import TBinaryProtocol from thrift.transport import THttpClient # The following two modules are generated by running the 'thrift --gen py hbase.thrift' command. from hbase import THBaseService from hbase.ttypes import TColumnValue, TColumn, TTableName, TTableDescriptor, TColumnFamilyDescriptor, TNamespaceDescriptor, TGet, TPut, TScan # Configure the endpoint for the Lindorm wide table engine. url = "http://ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com:9190" transport = THttpClient.THttpClient(url) headers = {} # Set the username. headers["ACCESSKEYID"]="testuser"; # Set the password that corresponds to the username. headers["ACCESSSIGNATURE"]="password" transport.setCustomHeaders(headers) protocol = TBinaryProtocol.TBinaryProtocolAccelerated(transport) client = THBaseService.Client(protocol) transport.open() # Close the connection after the operations are complete. transport.close()
Exemplos de código em outras linguagens
Para obter exemplos completos em outras linguagens não Java, clique em um dos links a seguir para baixar o código-fonte correspondente no GitHub: