Método de subcadena de Pyspark

Método de subcadena de Pyspark
La biblioteca Pyspark es un motor de procesamiento distribuido de propósito general, en memoria y que le permite manejar los datos en varias máquinas de manera eficiente. Uno de sus métodos populares es Substring (), que es útil para obtener una subcadena de una columna determinada, junto con sus ejemplos. Permítanos bucear y obtener más información sobre esta biblioteca y su método de subcadena.

Que es pyspark?

Pyspark es uno de los idiomas compatibles con Spark. Spark es una tecnología de procesamiento de big data que puede manejar datos en una escala de petabyte. Puede desarrollar aplicaciones Spark para procesar los datos y ejecutarlos en la plataforma Spark usando Pyspark. El AWS ofrece EMR administrado y la plataforma Spark. Puede usar Pyspark para procesar los datos y establecer un clúster EMR en AWS. Pyspark puede leer los datos de CSV, Parquet, JSON y bases de datos.

Debido a que Spark se implementa principalmente en Scala, la creación de aplicaciones Spark en Scala o Java le permite acceder a más de sus características que escribir programas Spark en Python o R. Pyspark no admite actualmente el conjunto de datos. Para alguien que busca una ciencia de datos, Pyspark es una mejor opción que Scala porque hay muchas bibliotecas populares de ciencias de datos escritas en Python, como Numpy, TensorFlow y Scikit-Learn. Para conjuntos de datos más pequeños, se utilizan pandas, mientras que, para conjuntos de datos más grandes, se emplea Pyspark.

En comparación con Pyspark, Pandas da resultados más rápidos. Dependiendo de la limitación de memoria y el tamaño de los datos, puede elegir entre Pyspark y Pandas Para mejorar el rendimiento. Siempre use pandas a través de Pyspark cuando el procesamiento de datos es suficiente para encajar en la memoria.

El conjunto de datos distribuido resiliente (RDD) es el mecanismo subyacente sofisticado de los datos de Spark. Los datos son resistentes, lo que implica que si un sistema con datos falla, los datos se replican en otro lugar y pueden restaurarse. Distribuido significa que los datos se dividen entre las máquinas 'n', lo que le permite acelerar teóricamente un proceso al tiempo que maneja cantidades masivas de datos. Una de las ramificaciones de la computación distribuida es que los datos deben sincronizarse con extrema precaución. Spark exige una programación funcional, lo que significa que las funciones no deben tener ningún efecto secundario para evitar muchas de estas preocupaciones. Como resultado, si desea alterar una tabla, primero debe crear una nueva tabla.

Muchos programadores no están familiarizados con el concepto de programación funcional. Pyspark no hace un buen trabajo al hacer que el RDD sea transparente. La API recoge algunos de los desagradables del entorno RDD. La programación funcional, por ejemplo, significa que una función no puede tener ningún efecto secundario (lo que hace que el mantenimiento de los datos sea mucho más difícil). Otro ejemplo es la evaluación "perezosa", que permite que Spark espere hasta que tenga una imagen completa de lo que está tratando de lograr antes de intentar optimizar los procesos. Spark se ha convertido rápidamente en la tecnología preferida de la industria para el procesamiento de datos. Sin embargo, no es el primero. Antes de Spark, el motor de procesamiento era MapReduce. Spark se usa ampliamente en las industrias en sistemas de almacenamiento distribuidos como Hadoop, Mesos y la nube. Es fundamental comprender los sistemas de almacenamiento distribuidos y cómo operan.

¿Cuál es el método SubString () en Pyspark??

El método SubString () en Pyspark extrae una subcadena de una columna DataFrame del tipo de cadena especificando su longitud y ubicación.

SQL Function Substring ()

Podemos obtener una subcadena de una cadena utilizando el subconocencia() función del pyspark.sql.funciones Módulo suministrando el índice y la longitud de la cadena que deseamos cortar. Aquí hay un ejemplo de uso de este método:

subcadena (Str, pos, Len)
Data = [(1, "20210828"), (2, "20190725")]]
columnas = ["id", "fecha"]
DF = chispa.creatataFrame (datos, columnas)
df.WithColumn ('Year', Substring ('Fecha', 1,4)) \
.WithColumn ('mes', subcadena ('fecha', 5,2)) \
.WithColumn ('Day', Substring ('Fecha', 7,2))
df.printschema ()
df.show (truncate = false)

Uso de subString () con select ()

Usando seleccionar En Pyspark, podemos obtener la subcontratación de una columna.

df.Seleccionar ('Date', subcadante ('Fecha', 1,4).alias ('año'), \
subcadena ('fecha', 5,2).alias ('mes'), \
subcadena ('fecha', 7,2).alias ('día'))

Uso de subString () con selectExpr ()

El ejemplo de usar selectExpr El método para obtener el año, el mes y el día como subcadenas de columna (fecha) es el siguiente:

df.SelectExpr ('Date', 'Substring (fecha, 1,4) como año', \
'Subcans (fecha, 5,2) como mes', \
'Subcans (fecha, 7,2) como día')

Uso de subStr () desde el tipo de columna

Obtenga la subcadena con el subsert() función de pyspark.sql.Columna Escriba Pyspark.

DF3 = DF.WithColumn ('año', col ('fecha').subStr (1, 4)) \
.WithColumn ('mes', col ('fecha').subStr (5, 2)) \
.WithColumn ('Day', Col ('Fecha').subStr (7, 2))

5. Poniendo todo junto

importar pyspark
de Pyspark.SQL Import Sparksession
de Pyspark.sql.Funciones Importar Col, subcadena
Spark = Sparksession.constructor.AppName ("Demo").getorcreate ()
Data = [(1, "20210828"), (2, "20190725")]]
columnas = ["id", "fecha"]
DF = chispa.creatataFrame (datos, columnas)
df.WithColumn ('Year', Substring ('Fecha', 1,4)) \
.WithColumn ('mes', subcadena ('fecha', 5,2)) \
.WithColumn ('Day', Substring ('Fecha', 7,2))
df.printschema ()
df.show (truncate = false)
df.Seleccionar ('Date', subcadante ('Fecha', 1,4).alias ('año'), \
subcadena ('fecha', 5,2).alias ('mes'), \
subcadena ('fecha', 7,2).alias ('día'))
df.SelectExpr ('Date', 'Substring (fecha, 1,4) como año', \
'Subcans (fecha, 5,2) como mes', \
'Subcans (fecha, 7,2) como día')
DF3 = DF.WithColumn ('año', col ('fecha').subStr (1, 4)) \
.WithColumn ('mes', col ('fecha').subStr (5, 2)) \
.WithColumn ('Day', Col ('Fecha').subStr (7, 2))

Conclusión

Discutimos sobre Pyspark, un sistema de procesamiento de big data capaz de manejar petabytes de datos y su método substring () junto con sus pocos ejemplos.