¿Cómo deshacer datos con SparkR?

UtilizandoSparkR ¿Cómo se pueden "explotar" las matrices anidadas? He intentado usarexplode al igual que:

 dat <- nested_spark_df %>% 
     mutate(a=explode(metadata)) %>%
     head()

pero aunque lo anterior no provoca una excepción, no promueve los campos anidados enmetadata&nbsp;al nivel superior Esencialmente estoy buscando un comportamiento similar al de HiveLATERAL VIEW explode()&nbsp;funcionalidad sin depender de unHiveContext.

Tenga en cuenta que en el fragmento de código estoy usando el NSE habilitado a través deSparkRext. Creo que el equivalente directoSparkR&nbsp;sería algo como... %>% mutate(a=explode(nested_spark_df$metadata)) ...&nbsp;O algo por el estilo.

EDITAR

He intentado usarLATERAL VIEW explode(...)&nbsp;en elSparkR::sql&nbsp;función. Parece funcionar muy bien con datos de Parquet y ORC. Sin embargo, cuando trabajé con datos Avro anidados, probé:

dat <- collect(sql(HiveContext,
                   paste0("SELECT a.id, ax.arrival_airport, x.arrival_runway ",
                          "FROM avrodb.flight a ",  
                             "LATERAL VIEW explode(a.metadata) a AS ax ",
                          "WHERE ax.arrival_airport='ATL'")))

Solo para obtener el siguiente error, aunque cuando se cambiaavrodb&nbsp;conparquetdb&nbsp;que contiene datos equivalentes, hace lo que espero.

Error in invokeJava(isStatic = TRUE, className, methodName, ...) :
  org.apache.spark.SparkException: Job aborted due to stage failure: Task 4 in stage 5.0 failed 4 times, most recent failure: Lost task 4.3 in stage 5.0 (TID 1345, dev-dn04.myorg.org): org.apache.avro.AvroTypeException: Found metadata, expecting union
    at org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:292)
    at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)
    at org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:267)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:155)
    at org.apache.avro.generic.GenericDatumReader.readArray(GenericDatumReader.java:219)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:153)
    at org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:155)
    at org.apache.avro.generic.GenericDatumReader.readField(GenericDatumReader.java:193)
    at org.apache.avro.generic.GenericDatumReader.readRecord(GenericDatumReader.java:183)
    at org.apache.avr
Calls: <Anonymous> ... collect -> collect -> .local -> callJStatic -> invokeJava

Esto a pesar del hecho de que incluí el paquete DataBricks Avro al iniciar Spark. Lectura de los mismos datos con chispa usando unSQLContext&nbsp;(en vez deHiveContext) funciona bien, excepto que no he podido averiguar cómo usar elexplode()&nbsp;función. También he confirmado que esto no es un problema con los datos en sí al consultar con éxito los mismos archivos a través de Hive usando la misma instrucción HQL que intenté ejecutar conSparkR::sql(HiveContext, hql)