Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 火花爆炸丢失记录_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark 火花爆炸丢失记录

Apache spark 火花爆炸丢失记录,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,DF的现有模式: |-- col1: string (nullable = true) |-- col2: array (nullable = true) | |-- element: struct (containsNull = true) | | |-- col2_1: string (nullable = true) | | |-- col2_2: string (nullable = true) 现有架构的示例数据: col1 col2

DF的现有模式:

|-- col1: string (nullable = true)
|-- col2: array (nullable = true)
|    |-- element: struct (containsNull = true)
|    |    |-- col2_1: string (nullable = true)
|    |    |-- col2_2: string (nullable = true)
现有架构的示例数据:

 col1         col2    
  A       [[0,2],[1,3]]
  B       [[1,5]] 
  C       [[5,9],[4,6],[2,6]] 
所需架构:

|-- col1: timestamp (nullable = true)
|-- col2_1: string (nullable = true)
|-- col2_2: string (nullable = true)
 col1          col2_1    col2_2    
  A            0           2
  A            1           3
  B            1           5
  C            5           9
  C            4           6
  C            2           6
所需架构的示例数据:

|-- col1: timestamp (nullable = true)
|-- col2_1: string (nullable = true)
|-- col2_2: string (nullable = true)
 col1          col2_1    col2_2    
  A            0           2
  A            1           3
  B            1           5
  C            5           9
  C            4           6
  C            2           6
代码:

我没有得到任何代码错误。但是它缺少原始DF的值,其中原始DF中的distinct(col1)约为20000,在展平后变为约6000


关于错误的任何建议。

explode()
将不会在要分解的数组为
null的位置发出任何行。因此,您应该改用
explode\u outer()

explode()
将不会在要分解的数组为
null的位置发出任何行。因此,您应该改用
explode_outer()

col2
中的数组可以为空吗?@ollik1不,它不能为空。但它可以有如上面示例中所示的可变大小。@ollik1您是对的。col2的值在某些情况下为空,并且这些记录丢失。
col2
中的数组是否可以为空?@ollik1否它不能为空。但它可以有如上面示例中所示的可变大小。@ollik1您是对的。col2的值在某些情况下为空,并且这些记录丢失。