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 我可以在spark中存储有序队列吗?_Apache Spark_Bigdata_Spark Streaming_Scheduler_Priority Queue - Fatal编程技术网

Apache spark 我可以在spark中存储有序队列吗?

Apache spark 我可以在spark中存储有序队列吗?,apache-spark,bigdata,spark-streaming,scheduler,priority-queue,Apache Spark,Bigdata,Spark Streaming,Scheduler,Priority Queue,我正在开发一个作业调度程序,用于实时数据,总共可以是20-30米。我想维护一个优先级队列,让所有人都决定先发送哪些数据。优先级队列应该能够容纳如此大量的数据。 这是否可能在spark中按顺序保存此数据。 或者还有其他出路吗?优先级队列只是一个有序的项目列表。使用spark/spark-sql,您可以从数据框中进行选择,并指定排序顺序和限制,例如,将单个项目出列。如果要不断查询数据,请确保缓存数据帧 考虑spark中名为priority_queue的简化表,如下所示: id | pri

我正在开发一个作业调度程序,用于实时数据,总共可以是20-30米。我想维护一个优先级队列,让所有人都决定先发送哪些数据。优先级队列应该能够容纳如此大量的数据。 这是否可能在spark中按顺序保存此数据。
或者还有其他出路吗?

优先级队列只是一个有序的项目列表。使用spark/spark-sql,您可以从数据框中进行选择,并指定排序顺序和限制,例如,将单个项目出列。如果要不断查询数据,请确保缓存数据帧

考虑spark中名为priority_queue的简化表,如下所示:

id    |    priority    |   date_added
1            1             3/15/2018 00:00:00
2            2             3/15/2015 00:01:00
...
您可以使用val topn=spark.sqlselect*从优先级队列中按优先级、日期和添加的限制x获取前x项

然后从topn和spark.sqldelete创建一个临时表,从优先级_队列中选择topn中的id