¿Cómo verificar si PySpark DataFrame está vacío?

En este artículo, vamos a verificar si Pyspark DataFrame o Dataset está vacío o no.

Al principio, vamos a crear un marco de datos

Python3

# import modules
from pyspark.sql import SparkSession
from pyspark.sql.types import StructType, StructField, StringType
  
# defining schema
schema = StructType([
    StructField('COUNTRY', StringType(), True),
    StructField('CITY', StringType(), True),
    StructField('CAPITAL', StringType(), True)
])
  
# Create Spark Object
spark = SparkSession.builder.appName("TestApp").getOrCreate()
  
# Create Empty DataFrame with Schema.
df = spark.createDataFrame([], schema)
  
# Show schema and data
df.printSchema()
df.show(truncate=False)

Producción:

Verificar que el marco de datos esté vacío o no

Tenemos múltiples formas por las cuales podemos verificar:

Método 1: estáVacío()

La función isEmpty del DataFrame o Dataset devuelve verdadero cuando el DataFrame está vacío y falso cuando no lo está. Si el marco de datos está vacío, la invocación de «isEmpty» podría generar una NullPointerException.

Nota: llamar a df.head() y df.first() en DataFrame vacío devuelve java.util.NoSuchElementException: next en excepción de iterador vacío.

Python3

print(df.head(1).isEmpty)
print(df.first(1).isEmpty)
print(df.rdd.isEmpty())

Producción:

True
True
True

Método 2: contar()

  Calcula el recuento de todas las particiones de todos los Nodes.

Código:

Python3

print(df.count() > 0)
print(df.count() == 0)
False
True

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *