En este artículo vamos a verificar que los datos sean un RDD o un DataFrame usando los métodos isinstance(), type() y dispatch.
Método 1. Usar el método isinstance()
Se utiliza para verificar que los datos particulares sean RDD o dataframe. Devuelve el valor booleano.
Sintaxis: isinstance(data,DataFrame/RDD)
dónde
- los datos son nuestros datos de entrada
- DataFrame es el método del módulo pyspark.sql
- RDD es el método del módulo pyspark.sql
Programa de ejemplo para verificar que nuestros datos sean dataframe o no:
Python3
# importing module import pyspark #import DataFrame from pyspark.sql import DataFrame # importing sparksession # from pyspark.sql module from pyspark.sql import SparkSession # creating sparksession # and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # list of employee data data = [[1, "sravan", "company 1"], [2, "ojaswi", "company 1"], [3, "rohith", "company 2"], [4, "sridevi", "company 1"], [1, "sravan", "company 1"], [4, "sridevi", "company 1"]] # specify column names columns = ['ID', 'NAME', 'Company'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data, columns) # check if it is dataframe or not print(isinstance(dataframe, DataFrame))
Producción:
True
Verifique que los datos sean RDD o no:
Al usar el método isinstance() podemos verificar.
Sintaxis: isinstance(datos,RDD)
dónde
- los datos son nuestros datos de entrada
- RDDis el método del módulo pyspark.sql
Ejemplo:
Python3
# import DataFrame from pyspark.sql import DataFrame # import RDD from pyspark.rdd import RDD # need to import for session creation from pyspark.sql import SparkSession # creating the spark session spark = SparkSession.builder.getOrCreate() # create an rdd with some data data = spark.sparkContext.parallelize([("1", "sravan", "vignan", 67, 89), ("2", "ojaswi", "vvit", 78, 89), ("3", "rohith", "vvit", 100, 80), ("4", "sridevi", "vignan", 78, 80), ("1", "sravan", "vignan", 89, 98), ("5", "gnanesh", "iit", 94, 98)]) # check the data is rdd or not print(isinstance(data, RDD))
Producción:
True
Convierta el RDD en DataFrame y verifique el tipo
Aquí crearemos un RDD y lo convertiremos en marco de datos usando el método toDF() y verificaremos los datos.
Python3
# import DataFrame from pyspark.sql import DataFrame # import RDD from pyspark.rdd import RDD # need to import for session creation from pyspark.sql import SparkSession # creating the spark session spark = SparkSession.builder.getOrCreate() # create an rdd with some data rdd = spark.sparkContext.parallelize([(1, "Sravan", "vignan", 98), (2, "bobby", "bsc", 87)]) # check if it is an RDD print(" RDD : ", isinstance(rdd, RDD)) # check if it is an DataFrame print("Dataframe : ", isinstance(rdd, DataFrame)) # display data of rdd print("Rdd Data : \n", rdd.collect()) # convert rdd to dataframe data = rdd.toDF() # check if it is an RDD print("RDD : ", isinstance(rdd, RDD)) # check if it is an DataFrame print("Dataframe : ", isinstance(rdd, DataFrame)) # display dataframe data.collect()
Producción:
Método 2: Usar la función type()
El comando type() se usa para devolver el tipo del objeto dado.
Sintaxis: tipo (objeto_datos)
Aquí, dataobject es el rdd o dataframe data.
Ejemplo 1 : programa Python para crear datos con RDD y verificar el tipo
Python3
# need to import for session creation from pyspark.sql import SparkSession # creating the spark session spark = SparkSession.builder.getOrCreate() # create an rdd with some data rdd = spark.sparkContext.parallelize([(1, "Sravan","vignan",98), (2, "bobby","bsc",87)]) # check the type using type() command print(type(rdd))
Producción:
<class 'pyspark.rdd.RDD'>
Ejemplo 2: programa de Python para crear un marco de datos y verificar el tipo.
Python3
# importing module import pyspark # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # creating sparksession and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # list of employee data data =[[1,"sravan","company 1"], [2,"ojaswi","company 1"], [3,"rohith","company 2"], [4,"sridevi","company 1"], [1,"sravan","company 1"], [4,"sridevi","company 1"]] # specify column names columns=['ID','NAME','Company'] # creating a dataframe from the lists of data dataframe = spark.createDataFrame(data,columns) # check thet type of # data with type() command print(type(dataframe))
Producción:
<class 'pyspark.sql.dataframe.DataFrame'>
Método 3: Uso de Despacho
El decorador de despacho crea un objeto de despacho con el nombre de la función y almacena este objeto. Podemos referirnos a este objeto para hacer las operaciones. Aquí estamos creando un objeto para verificar que nuestros datos sean RDD o DataFrame. Así que estamos usando envío único
Ejemplo 1: Código de Python para crear un despachador único y pasar los datos y verificar que los datos sean rdd o no
Python3
# importing module from pyspark.rdd import RDD from pyspark.sql import DataFrame import pyspark # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # import singledispatch from functools import singledispatch # import spark context from pyspark import SparkContext # createan object for spark # context with local and name is GFG sc = SparkContext("local", "GFG") # creating sparksession # and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # import DataFrame # import RDD # creating the spark session spark = SparkSession.builder.getOrCreate() # create a function to dispatch our function @singledispatch def check(x): pass # this function is for returning # an RDD if the given input is RDD @check.register(RDD) def _(arg): return "RDD" # this function is for returning # an RDD if the given input is DataFrame @check.register(DataFrame) def _(arg): return "DataFrame" # create an pyspark dataframe # and check whether it is RDD or not print(check(sc.parallelize([("1", "sravan", "vignan", 67, 89)])))
Producción:
RDD
Ejemplo 2: código de Python para verificar si los datos son marcos de datos o no
Python3
# importing module from pyspark.rdd import RDD from pyspark.sql import DataFrame import pyspark # importing sparksession from pyspark.sql module from pyspark.sql import SparkSession # import singledispatch from functools import singledispatch # import spark context from pyspark import SparkContext # createan object for spark # context with local and name is GFG sc = SparkContext("local", "GFG") # creating sparksession and giving an app name spark = SparkSession.builder.appName('sparkdf').getOrCreate() # creating the spark session spark = SparkSession.builder.getOrCreate() # create a function to dispatch our function @singledispatch def check(x): pass # this function is for returning # an RDD if the given input is RDD @check.register(RDD) def _(arg): return "RDD" # this function is for returning # an RDD if the given input is DataFrame @check.register(DataFrame) def _(arg): return "DataFrame" # create an pyspark dataframe and # check whether it is dataframe or not print(check(spark.createDataFrame([("1", "sravan", "vignan", 67, 89)])))
Producción:
DataFrame
Publicación traducida automáticamente
Artículo escrito por gottumukkalabobby y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA