• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. BigQuery: como acessar o BigQuery pelo Python

    BigQuery: como acessar o BigQuery pelo Python

    8 min8 minutos de leitura

    8 min8 minutos de leitura

    Publicado: 01/04/2024

    1. Como executar programas Python via Notebooks
    2. Conclusão
    3. Créditos

    Não é nenhuma novidade que Python é uma das linguagens de programação mais influentes e populares no mundo.

    Inclusive, ele tem uma história fascinante que reflete seu design centrado na legibilidade do código e na eficiência da pessoa desenvolvedora.

    Seu objetivo principal é superar as limitações da linguagem ABC e oferecer uma sintaxe que enfatiza a clareza.

    Neste artigo, vamos explorar as maravilhas de integrar o Python ao BigQuery, desvendando como essa poderosa combinação pode simplificar sua análise de dados e abrir novos horizontes para sua jornada de descoberta.

    A linguagem Python se destaca particularmente por conta de sua sintaxe intuitiva e a vasta gama de bibliotecas de análise de dados, como NumPy, Pandas, Matplotlib e Scikit-learn.

    Essas ferramentas fornecem as capacidades necessárias para lidar com tarefas complexas de forma eficiente, consolidando assim a posição do Python como escolha para processamento de dados, análise estatística e machine learning.

    Se você é uma pessoa que deseja simplificar sua jornada no BigQuery, aproveite este artigo e descubra como o Python pode ser seu poderoso aliado. Boa leitura!

    Como executar programas Python via Notebooks

    Ao explorar o vasto universo da programação com Python, podemos encontrar diversas maneiras de escrever e executar nossos códigos. Entre essas opções, existem os Notebooks interativos, especialmente o Google Colab.

    O Google Colab (Colaboratory) representa uma revolução no desenvolvimento e análise de dados com Python.

    Trata-se de uma plataforma baseada em nuvem que permite a execução de código Python em células, facilitando a execução iterativa e a experimentação com dados em tempo real.

    Essa abordagem modular é excepcionalmente benéfica para análises de dados, pois os usuários podem manipular dados e visualizar os resultados instantaneamente.

    Além de suportar texto rico (usando Markdown), imagens, equações matemáticas e gráficos, o Colab está integrado ao Google Drive e outros serviços Google, oferecendo uma experiência de desenvolvimento colaborativo e acessível sem a necessidade de configuração local.

    Como acessar dados do BigQuery

    O acesso aos dados do BigQuery é possível tanto por meio de APIs, como também através de ferramentas disponíveis no ecossistema do Google.

    Além disso, existem alternativas fora do ambiente de nuvem do Google que facilitam a visualização dos dados do BigQuery.

    Quando optamos por acessar os dados do BigQuery utilizando um programa em Python, estamos nos aventurando em um acesso externo.

    A questão que surge é: como estabelecer uma comunicação eficaz entre o programa e os dados do BigQuery, considerando que eles residem dentro do ecossistema Google — um ambiente altamente seguro e com restrições de acesso?

    Isso é possível de ser realizado através de uma conta de serviço que deve ser configurada no ** Google Cloud**. Para isso, você deve seguir os seguintes passos:

    • No Google Cloud, acesse API / Credenciais.
    • Clique na opção de gerenciar contas de serviço.
    • Crie uma conta de serviço dando o papel de segurança ao usuário da nuvem de proprietário.
    • Com a conta de serviço criada, clique em Gerenciar Chaves criando uma nova chave JSON.

    Pronto! Configuração realizada.

    Como acessar via Google Colab

    Agora, vamos explorar o acesso via Google Colab com o Python. Para isso, proceda a inicialização dos parâmetros de segurança e de instalação da biblioteca de acesso.

    • Acesse a página do Google Colab.
    • Faça login com sua conta Google (a mesma usada para criar a conta de usuário na nuvem Google).
    • Adicione uma célula ao seu notebook e Instale a biblioteca do google-cloud-bigquery:
      !pip install google-cloud-bigquery --upgrade
    
    • Reinicialize a seção quando o botão RESTART SESSION for exibido.
    • Depois execute esses comandos abaixo para ativar a segurança da conta de serviço.
      from google.colab import auth
      auth.authenticate_user()
    
    • Ao executar este conjunto de comandos, a tela de Login do Google será mostrada. Entre com suas credenciais (as mesmas que acessam o BigQuery) e dê permissão para acesso a todas as opções apresentadas na tela.

    • Durante o acesso, você necessitará utilizar o ID do seu projeto e do seu conjunto de dados. Nos exemplos abaixo, o ID do projeto será curso-big-query-estudo-412200 e do conjunto de dados belleza_verde_vendas.

    • Listar conjunto de dados:

    • Para listar os conjuntos de dados, salve numa variável o identificador do projeto:

      project_id = "curso-big-query-estudo-412200"
    
    • Em uma outra célula implemente o programa de buscar a lista de conjunto de dados.
      from google.cloud import bigquery
    
    Cria um cliente do BigQuery
    
    
    
    client = bigquery.Client(project=project_id)
    
    
    
    Lista os conjuntos de dados no projeto especificado
    
    

    datasets = list(client.list_datasets()) if datasets: print("Conjuntos de dados em '{}':".format(project_id)) for dataset in datasets: print("{}".format(dataset.dataset_id)) else: print("O projeto '{}' não contém conjuntos de dados.".format(project_id))

    • Ao executar o programa acima os conjuntos de dados são exibidos.

    • Listar tabelas de um conjunto de dados:

    • Crie uma célula e execute:

      from google.cloud import bigquery
    
    Cria um cliente do BigQuery
    
    

    client = bigquery.Client(project=project_id)

    • Depois, em outra célula, execute:
      # Especifica o ID do conjunto de dados
      dataset_id = f"{project_id}.belleza_verde_vendas"
    
    Obtém uma referência ao conjunto de dados
    
    
    
    dataset_ref = client.dataset(dataset_id.split('.')[-1], project=dataset_id.split('.')[0])
    
    
    
    Lista as tabelas no conjunto de dados especificado
    
    
    
    tables = client.list_tables(dataset_ref)
    
    
    
    Exibe os nomes das tabelas
    
    
    
    print(f"Tabelas no conjunto de dados '{dataset_id}':")
    for table in tables:
    print(f"{table.table_id}")
    
    
    

    • Ao executar a lista de tabelas será exibida.

    • Listar estrutura de uma tabela:

    • Como você já tem a seção cliente criada, basta acrescentar o código abaixo em uma outra célula.

      # Supondo que client já esteja inicializado e configurado com seu project_id
    
    Especifica o ID completo da tabela
    
    
    
    table_id = f"{project_id}.belleza_verde_vendas.clientes"
    
    
    
    Obtém a tabela do BigQuery
    
    
    
    table = client.get_table(table_id)
    
    
    
    Exibe a estrutura da tabela
    
    
    
    print(f"Estrutura da tabela 'clientes':")
    for schema_field in table.schema:
    print(f"Nome: {schema_field.name}")
    print(f"Tipo: {schema_field.field_type}")
    print(f"Modo: {schema_field.mode}")
    description = schema_field.description if schema_field.description else "Nenhuma descrição disponível"
    print(f"Descrição: {description}")
    print("-" * 40)
    
    
    

    • Listar dados de uma tabela:

    • Primeiro, obtenha uma referência à tabela vendedores no conjunto de dados belleza_verde_vendas (ou outro conjunto de dados conforme apropriado para o seu caso).

      # Inicialize a variavel com o nome da tabela
      table_id = f"{project_id}.belleza_verde_vendas.vendedores"
    
    Obtém uma referência à tabela
    
    
    
    table_ref = client.get_table(table_id)
    
    
    

    • Em seguida, utilize o método list_rows() para recuperar os dados da tabela. Por padrão, este método pode retornar muitas linhas, por isso é prudente limitar o número de resultados para evitar o uso excessivo de recursos, especialmente se a tabela for grande.

    Nesse caso específico, a tabela de vendedores não é grande, mas será mantido o parâmetro de limitação de linha no script abaixo.

      # Lista as linhas da tabela (limitando os resultados)
      rows = client.list_rows(table_ref, max_results=10)
    
    Exibe os dados
    
    
    
    for row in rows:
    print(row)
    
    
    

    • Executar uma consulta:

    • Primeiro, defina a consulta SQL que deseja executar:

      query = """
      SELECT id_cliente, nome
      FROM `curso-big-query-estudo-412200.belleza_verde_vendas.clientes`
      WHERE localizacao = 'Minas Gerais'
      """
    
    • Utilize o cliente do BigQuery que você já autenticou e configurou com seu project_id para executar a consulta. Depois, recupere os resultados:
      # Executa a consulta
      query_job = client.query(query)
    
    Aguarda a consulta ser finalizada e recupera os resultados
    
    
    
    results = query_job.result()
    
    
    

    • Agora, percorra os resultados da consulta e exiba-os. Cada linha nos resultados pode ser acessada como um dicionário, onde as chaves são os nomes das colunas selecionadas:
      print("Resultados da consulta:")
      for row in results:
          print(f"ID Cliente: {row['id_cliente']}, Nome: {row['nome']}") 
    
    • Apagando um conjunto de dados:

    Para este exemplo, repita o processo de criar um conjunto de dados vazio no BigQuery Studio.

    Agora, vamos apagá-lo:

    • Para isso, adicione mais uma célula e digite:
      
      # Especifica o ID do conjunto de dados a ser apagado
      dataset_id = "belleza_verde_vendas_prod"
    
    Obtém uma referência ao conjunto de dados
    
    
    
    dataset_ref = client.dataset(dataset_id)
    
    
    
    
    try:
    # Apaga o conjunto de dados
    client.delete_dataset(dataset_ref, delete_contents=True, not_found_ok=False)
    print(f"O conjunto de dados '{dataset_id}' foi apagado com sucesso.")
    except Exception as e:
    print(f"Erro ao apagar o conjunto de dados: {e}")
    
    
    

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Conclusão

    Acessar o BigQuery utilizando Python abre um vasto leque de possibilidades para as pessoas analistas de dados.

    A integração entre Python e BigQuery, graças à biblioteca google-cloud-bigquery, fornece uma base sólida para operações de dados complexas, análises e automação de processos de dados.

    A capacidade de processar e analisar dados com a agilidade e a potência computacional do BigQuery, aliada à flexibilidade e à vasta gama de bibliotecas de análise de dados em Python, abre novos horizontes para a descoberta de insights, modelagem preditiva e tomada de decisão baseada em dados.

    Encorajamos você a explorar ainda mais as funcionalidades disponíveis nesta conexão entre Python e BigQuery.

    Mergulhar nas capacidades avançadas do BigQuery, como consultas analíticas, manipulação de grandes conjuntos de dados e integrações com outras ferramentas e serviços do Google Cloud.

    Essas ações têm o potencial de ampliar significativamente o impacto dos seus projetos de dados, resultando em melhorias notáveis.

    Por isso, convidamos você a explorar, experimentar e inovar com a união dessas tecnologias.

    Aproveite as oportunidades que a conexão Python-BigQuery oferece para resolver problemas complexos de dados, criar soluções escaláveis e impulsionar o valor dos dados em seus projetos e organizações.

    O caminho está aberto para que você descubra como essa poderosa ferramenta pode ser utilizada para atender às suas necessidades de dados e análises, levando seus projetos a novos patamares de eficiência e inovação.

    Créditos

    Criação Textual:

    • Victorino Vila

    Produção técnica:

    • Daniel Siqueira

    Produção didática:

    • Cláudia Machado

    Designer gráfico:

    • Alysson Manso

    Apoio:

    • Rômulo Henrique
    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Victorino Vila

      Autor(a)

      Victorino Vila

      Victorino, formado em Engenharia Elétrica pela PUC-RJ e mestre pela UFRJ, tem mais de 30 anos em gestão de consultorias de tecnologia. Sócio de startup de software para integração de dados, trabalha com MYSQL, SQL SERVER, POSTGRES, ORACLE, WEB SERVICES e .NET. Desde 2018, é professor na Alura, ensinando programação e bancos de dados.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 18/10/2021

      Soft Skills mais importantes para a área de dados

      Ler mais
    • 08/08/2024

      Guia Completo da Linguagem R para iniciantes

      Ler mais
    • 30/08/2023

      Power BI: contexto de linha e de filtro

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura