Go nativo · Warp SQL · licença Apache-2.0

    O driver ADBC Hardcharger

    Um driver nativo conecta Python, Go, C/C++, R, Rust e outros clientes ADBC ao Hardcharger via Warp SQL. Consulte, transmita resultados Arrow e carregue dados pela mesma interface aberta.

    $ pip install adbc-driver-hardcharger

    Arrow da consulta à ingestão

    Leia resultados como lotes de registros Arrow e passe o leitor de outro driver ADBC diretamente à ingestão em massa do Hardcharger. Resultados e uploads grandes podem usar conexões paralelas.

    Entre com sua identidade

    Use senhas, SSO pelo navegador, troca de tokens do provedor de identidade ou login por certificado de cliente. TLS é o padrão nas conexões hardcharger://.

    Um driver, várias linguagens

    O wheel Python inclui a biblioteca compartilhada nativa. A API C do ADBC também conecta Go, C/C++, R, Rust e outros clientes por um gerenciador de drivers.

    Uma API C. Todas as linguagens.

    Os exemplos desta página estão em Python, mas ADBC expõe cada driver como uma biblioteca compartilhada compatível com C — o mesmo núcleo nativo funciona em Go, Rust, Java, C#, C/C++, JavaScript e outras linguagens. Um driver para toda arquitetura.

    PythonGoRustJavaC#C / C++JavaScriptRRubyKotlin
    Saiba mais sobre Apache Arrow ADBC

    Instale e consulte

    Instale o wheel Python, configure o URI e as credenciais do servidor no ambiente e transmita resultados como lotes Arrow. Não é necessário converter para pandas.

    1# pip install adbc-driver-hardcharger
    2import os
    3from adbc_driver_hardcharger import dbapi as hardcharger
    4
    5with hardcharger.connect(
    6    uri=os.environ["HARDCHARGER_URI"],
    7    username=os.environ["HARDCHARGER_USERNAME"],
    8    password=os.environ["HARDCHARGER_PASSWORD"],
    9) as conn, conn.cursor() as cur:
    10    cur.execute("SELECT 42 AS answer, ? AS greeting", ["hello"])
    11    for batch in cur.fetch_record_batch():
    12        print(batch)

    HARDCHARGER_URI é hardcharger://host:31337 com TLS. Use hardcharger://localhost:31337?tls=false apenas para um servidor local de desenvolvimento.

    SSO pelo navegador e mTLS

    Use o provedor de identidade configurado no servidor ou entre com um certificado de cliente. Esses recursos estão incluídos no Hardcharger; seu administrador precisa habilitar a configuração correspondente no servidor.

    1from adbc_driver_hardcharger import dbapi as hardcharger
    2
    3# Browser SSO: the server must have an identity provider configured.
    4with hardcharger.connect(uri="hardcharger://db.example.com", auth_type="external") as conn:
    5    print(conn.current_user())
    6
    7# Client-certificate sign-in: the server must enable mTLS sign-in.
    8with hardcharger.connect(
    9    uri="hardcharger://db.example.com",
    10    auth_type="client_certificate",
    11    tls_root_certs="ca.pem",
    12    tls_client_cert="client.pem",
    13    tls_client_key="client-key.pem",
    14) as conn:
    15    print(conn.current_user())
    Leia a documentação do driver →

    Transmita dados para o Hardcharger

    A ingestão em massa aceita um leitor Arrow, permitindo produzir e consumir lotes incrementalmente. Este exemplo cria uma nova tabela; use mode="append" para carregar uma tabela existente compatível.

    1# pip install adbc-driver-hardcharger pyarrow
    2import os
    3import pyarrow as pa
    4from adbc_driver_hardcharger import dbapi as hardcharger
    5
    6schema = pa.schema([("id", pa.int64()), ("amount", pa.float64())])
    7
    8def batches():
    9    for start in range(0, 4000, 1000):
    10        yield pa.record_batch(
    11            [pa.array(range(start, start + 1000), type=pa.int64()),
    12             pa.array([12.50] * 1000, type=pa.float64())],
    13            schema=schema,
    14        )
    15
    16with hardcharger.connect(
    17    uri=os.environ["HARDCHARGER_URI"],
    18    username=os.environ["HARDCHARGER_USERNAME"],
    19    password=os.environ["HARDCHARGER_PASSWORD"],
    20) as conn, conn.cursor() as cur:
    21    with pa.RecordBatchReader.from_batches(schema, batches()) as reader:
    22        rows = cur.adbc_ingest(table_name="orders", data=reader, mode="create")
    23    print(f"Loaded {rows:,} rows")

    O streaming de outro banco funciona da mesma forma: passe o leitor fetch_record_batch() do cursor de origem como data. Mantenha o cursor de origem aberto enquanto o Hardcharger o consome.

    Mais integrações Hardcharger →

    Driver ADBC para Hardcharger — perguntas frequentes

    O driver Hardcharger é gratuito?

    Sim. O driver e o servidor Hardcharger são de código aberto sob Apache-2.0. Todos os recursos do servidor estão incluídos, sem taxa por edição.

    Ele substitui o driver ADBC GizmoSQL?

    Use adbc-driver-hardcharger para Hardcharger via Warp SQL. Mantenha adbc-driver-gizmosql para servidores GizmoSQL existentes via Arrow Flight SQL. Os drivers compartilham a interface ADBC, mas usam protocolos de rede diferentes.

    Como transmito dados de Oracle, Db2 ou Quack?

    Abra as conexões da origem e do Hardcharger, execute uma consulta na origem e passe fetch_record_batch() ao adbc_ingest() do cursor de destino. Mantenha as duas conexões abertas até a ingestão terminar. As páginas dos drivers incluem exemplos completos.

    Como funcionam TLS e login pelo navegador?

    hardcharger://host:31337 usa TLS por padrão. Acrescente ?tls=false apenas para desenvolvimento local. Para SSO pelo navegador, conecte com auth_type="external" a um servidor configurado com um provedor de identidade. Login por certificado de cliente exige a configuração de login mTLS no servidor.

    Pronto para mover seus dados?

    Instale o Hardcharger gratuitamente e use drivers ADBC para transmitir sua primeira tabela.

    Agende uma demonstração!Agendamento via Calendly