Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

331
Vistas
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 Respuestas
Responde la pregunta

0

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

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda