Básicamente, me gustaría hacer una simple eliminar el uso de sentencias SQL pero cuando voy a ejecutar la secuencia de comandos sql me arroja el siguiente error:

pyspark.sql.utils.ParseException: u»\nmissing ‘DESDE’ a ‘a'(línea 2,
pos 23)\n\n== SQL ==\n\n ELIMINAR una.* DE adsquare un
\n———————–^^^\n»

Estos es el script que estoy usando:

sq = SparkSession.builder.config('spark.rpc.message.maxSize','1536').config("spark.sql.shuffle.partitions",str(shuffle_value)).getOrCreate()
adsquare = sq.read.csv(f, schema=adsquareSchemaDevice , sep=";", header=True)
adsquare_grid = adsqaureJoined.select("userid", "latitude", "longitude").repartition(1000).cache()
adsquare_grid.createOrReplaceTempView("adsquare")   

sql = """
    DELETE a.* FROM adsquare a
    INNER JOIN codepoint c ON a.grid_id = c.grid_explode
    WHERE dis2 > 1 """

sq.sql(sql)

Nota: El punto de código de la tabla se crea durante la ejecución.

¿Hay alguna otra manera puedo eliminar las filas con las condiciones anteriores?

  • En Spark, todos los Datos de las abstracciones son inmutables. tienes que venir con tu UDF para rellenar Ur nuevos datos DF que excluye el campo que no están interesados.
  • UDF es demasiado caro para esta tarea simple
InformationsquelleAutor ebertbm | 2017-04-20

3 Comentarios

  1. 6

    Usted no puede eliminar las filas de la Trama de Datos. Pero usted puede crear un nuevo Marco de Datos que excluir de los registros no deseados.

    sql = """
        Select a.* FROM adsquare a
        INNER JOIN codepoint c ON a.grid_id = c.grid_explode
        WHERE dis2 <= 1 """
    
    sq.sql(sql)

    De esta manera usted puede crear un nuevo marco de datos. Aquí he utilizado revertir la condición dis2 <= 1

  2. 7

    Dataframes en Apache Spark son inmutables. ASÍ que usted puede cambiar, para eliminar las filas de la trama de datos puede filtrar la fila que usted no desee y guardar en otro dataframe.

  3. 2

    Usted no puede eliminar las filas de la Trama de Datos debido a Hadoop siga WORM( escribir una vez, leer muchas veces) en lugar usted puede filtrar los registros eliminados en la instrucción SQL le dará el nuevo marco de datos.

Dejar respuesta

Please enter your comment!
Please enter your name here