Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.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
通过pyspark向sql数据帧添加行_Pyspark - Fatal编程技术网

通过pyspark向sql数据帧添加行

通过pyspark向sql数据帧添加行,pyspark,Pyspark,作为spark的新手,我在这个问题中找不到pyspark在sql数据帧中插入行的函数。例如,我有一个类似以下结构的数据帧: +----------+-----+ | Time|Value| +----------+-----+ |1364763600|115.0| |1364763601|119.0| |1364763603|116.5| +----------+-----+ 现在,我想在第二行和第三行之间的数据帧中插入一行,索引是第二行索引之后的1364763602,值应该与第二行

作为spark的新手,我在这个问题中找不到pyspark在sql数据帧中插入行的函数。例如,我有一个类似以下结构的数据帧:

+----------+-----+
|      Time|Value|
+----------+-----+
|1364763600|115.0|
|1364763601|119.0|
|1364763603|116.5|
+----------+-----+
现在,我想在第二行和第三行之间的数据帧中插入一行,索引是第二行索引之后的
1364763602
,值应该与第二行相同,
119
在这种情况下,最终的数据帧应该如下所示:

+----------+-----+
|      Time|Value|
+----------+-----+
|1364763600|115.0|
|1364763601|119.0|
|1364763602|119.0|
|1364763603|116.5|
+----------+-----+

有没有有效的方法来实现这一点,真正的数据帧存储在不同的节点上。

数据帧是不可变的分布式数据结构,因此您不能插入数据。而且,dataframe上没有定义顺序,所以不能在记录之前或之后插入记录。更重要的是,如果集群中的同一个节点上有两条记录,您现在甚至不需要这样做(除非您指定partitioner并测试调用getPartition的记录)。您所能做的就是创建一个记录数据帧并将其与旧的数据帧联合起来。联合(df2)

数据帧是不可变的分布式数据结构,因此您不能插入数据。而且,dataframe上没有定义顺序,所以不能在记录之前或之后插入记录。更重要的是,如果集群中的同一个节点上有两条记录,您现在甚至不需要这样做(除非您指定partitioner并测试调用getPartition的记录)。您所能做的就是创建一个记录数据帧,并将其与旧的数据帧相结合。
df1.union(df2)

谢谢@Vitaliy Kotlyarenko,我会在将数据转换为数据帧之前尝试修改数据。谢谢@Vitaliy Kotlyarenko,我会在将数据转换为数据帧之前尝试修改数据。