Articles of apache spark sql

Chispa – Operación RDD anidada

Tengo dos RDD dicen rdd1 = id | created | destroyed | price 1 | 1 | 2 | 10 2 | 1 | 5 | 11 3 | 2 | 3 | 11 4 | 3 | 4 | 12 5 | 3 | 5 | 11 rdd2 = [1,2,3,4,5] # lets call these […]

¿Cómo calcular la diferencia de fecha en pyspark?

Tengo datos como este: df = sqlContext.createDataFrame([ (‘1986/10/15’, ‘z’, ‘null’), (‘1986/10/15’, ‘z’, ‘null’), (‘1986/10/15’, ‘c’, ‘null’), (‘1986/10/15’, ‘null’, ‘null’), (‘1986/10/16’, ‘null’, ‘4.0’)], (‘low’, ‘high’, ‘normal’)) Quiero calcular la diferencia de fecha entre low columna low y el 2017-05-02 y reemplazar low columna low con la diferencia. He intentado soluciones relacionadas en stackoverflow pero ninguna de […]

Obteniendo un campo específico de la fila elegida en Pyspark DataFrame

Tengo un Spark DataFrame construido a través de pyspark desde un archivo JSON como sc = SparkContext() sqlc = SQLContext(sc) users_df = sqlc.read.json(‘users.json’) Ahora, quiero acceder a los datos de un usuario elegido , donde este es su campo _id. puedo hacer print users_df[users_df._id == chosen_user].show() y esto me da la fila completa del usuario. […]

Cómo hacer la primera primera fila como encabezado al leer un archivo en PySpark y convertirlo en Pandas Dataframe

Estoy leyendo un archivo en PySpark y formando el rdd de él. Luego lo convierto a un dataframe normal y luego a un pandas dataframe . El problema que tengo es que hay una fila de encabezado en mi archivo de entrada y quiero hacer esto también como encabezado de las columnas del dataframe, pero […]

Haciendo histogtwig con la columna Spark DataFrame

Estoy tratando de hacer un histogtwig con una columna de un dataframe que parece DataFrame[C0: int, C1: int, …] Si tuviera que hacer un histogtwig con la columna C1, ¿qué debo hacer? Algunas cosas que he probado son df.groupBy(“C1”).count().histogram() df.C1.countByValue() Que no funcionan debido a la falta de coincidencia en los tipos de datos.

Detección eficiente de sufijo de cadena

Estoy trabajando con PySpark en un gran conjunto de datos, donde quiero filtrar el dataframe basado en cadenas en otro dataframe. Por ejemplo, dd = spark.createDataFrame([“something.google.com”,”something.google.com.somethingelse.ac.uk”,”something.good.com.cy”, “something.good.com.cy.mal.org”], StringType()).toDF(‘domains’) +—————————————-+ |domains | +—————————————-+ |something.google.com | |something.google.com.somethingelse.ac.uk| |something.good.com.cy | |something.good.com.cy.mal.org | +—————————————-+ dd1 = spark.createDataFrame([“google.com”, “good.com.cy”], StringType()).toDF(‘gooddomains’) +———–+ |gooddomains| +———–+ |google.com | |good.com.cy| +———–+ Supongo que los […]

pyspark divide una columna en varias columnas sin pandas

mi pregunta es cómo dividir una columna en varias columnas. No sé por qué df.toPandas() no funciona. Por ejemplo, me gustaría cambiar ‘df_test’ a ‘df_test2’. Vi muchos ejemplos usando el módulo pandas. ¿Hay otra manera? Gracias de antemano. df_test = sqlContext.createDataFrame([ (1, ’14-Jul-15′), (2, ’14-Jun-15′), (3, ’11-Oct-15′), ], (‘id’, ‘date’)) df_test2 id day month year […]

Combine los campos PySpark DataFrame ArrayType en un único campo ArrayType

Tengo un DataSrame de PySpark con 2 campos ArrayType: >>>df DataFrame[id: string, tokens: array, bigrams: array] >>>df.take(1) [Row(id=’ID1′, tokens=[‘one’, ‘two’, ‘two’], bigrams=[‘one two’, ‘two two’])] Me gustaría combinarlos en un solo campo ArrayType: >>>df2 DataFrame[id: string, tokens_bigrams: array] >>>df2.take(1) [Row(id=’ID1′, tokens_bigrams=[‘one’, ‘two’, ‘two’, ‘one two’, ‘two two’])] La syntax que funciona con cadenas no parece […]

¿Cómo crear una copia de un dataframe en pyspark?

Tengo un dataframe desde el cual necesito crear un nuevo dataframe con un pequeño cambio en el esquema haciendo la siguiente operación. >>> X = spark.createDataFrame([[1,2], [3,4]], [‘a’, ‘b’]) >>> schema_new = X.schema.add(‘id_col’, LongType(), False) >>> _X = X.rdd.zipWithIndex().map(lambda l: list(l[0]) + [l[1]]).toDF(schema_new) El problema es que en la operación anterior, el esquema de X […]

Filtrado de DataFrame usando la longitud de una columna

Quiero filtrar un DataFrame usando una condición relacionada con la longitud de una columna, esta pregunta puede ser muy fácil pero no encontré ninguna pregunta relacionada en el SO. Más específicamente, tengo un DataFrame con solo una Column que de ArrayType(StringType()) , quiero filtrar el DataFrame usando la longitud como filtro, tiro un fragmento a […]