我想将一个大Spark数据框转换为具有1000000行以上的Pandas。我尝试使用以下代码将Spark数据框架转换为Pandas数据框架:
local _lastTime = 0
local function OnEnterFrame( event )
deltaTime = event.time - _lastTime
_lastTime = event.time
MoveMyPlatformOnEnterFrame(deltaTime)
end
Runtime:addEventListener( "enterFrame", OnEnterFrame )
但是,我得到了错误:
local _loopTime = someValue
local _xRadians =0
local _amplitude = someOtherValue
local _platform --this is the Display Object I want to move
function MoveMyPlatformOnEnterFrame( deltaTime )
delta = deltaTime / _loopTime * (44/7)
_xRadians = _xRadians + delta
_xRadians = math.fmod( _xRadians, (44/7) )
_platform.x = _position.x + math.sin( _xRadians ) * _amplitude
end
它不起作用,但是如果我将arrow设置为false,它会起作用。但这太慢了...知道吗?
答案 0 :(得分:1)
箭头仅支持少量类型,Spark ApplicationRef
(包括UserDefinedTypes
和ml
mllib
不在受支持的类型中)。
如果您要使用箭头集会,则必须将数据转换为支持的格式。一种可能的解决方案是将VectorUDTs
扩展为列-How to split Vector into columns - using PySpark
您还可以使用Vectors
方法序列化输出:
to_json
但是,如果数据足够大,足以from pyspark.sql.functions import to_json
df.withColumn("your_vector_column", to_json("your_vector_column"))
成为瓶颈,那么我将重新考虑收集这样的数据。