Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

326
Views
Mostrar tablas de una base de datos específica con Pyspark y Hive

Tener algunas bases de datos y tablas en ellas en la instancia de Hive. Me gustaría mostrar tablas para alguna base de datos específica (digamos 3_db).

 +------------------+--+ | database_name  | +------------------+--+ | 1_db           | | 2_db           | | 3_db | +------------------+--+

Si ingreso beeline desde bash-nothing complex allí, solo hago lo siguiente:

 show databases; show tables from 3_db;

Cuando estoy usando pyspark a través de ipython notebeook, mis trucos baratos no funcionan allí y me dan un error en la segunda línea (mostrar tablas de 3_db):

 sqlContext.sql('show databases').show() sqlContext.sql('show tables from 3_db').show()

¿Qué parece estar mal y por qué el mismo código funciona en un lugar y no funciona en otro?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

sqlContext.sql("show tables in 3_db").show()
over 4 years ago · Santiago Trujillo Report

0

Otra posibilidad es utilizar los métodos del Catálogo :

 spark = SparkSession.builder.getOrCreate() spark.catalog.listTables("3_db")

Solo tenga en cuenta que en PySpark este método devuelve una list y en Scala, devuelve un DataFrame .

over 4 years ago · Santiago Trujillo Report

0

Hay dos formas posibles de lograr esto, pero difieren mucho en términos de eficiencia.


usando sql

Este es el enfoque más eficiente:

 spark_session = SparkSession.builder.getOrCreate() spark_session.sql("show tables in db_name").show()

Usando catalog.listTables()

El siguiente es más ineficiente en comparación con el enfoque anterior, ya que también carga los metadatos de las tablas:

 spark_session = SparkSession.builder.getOrCreate() spark_session.catalog.listTables("db_name")
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!