在Django教程中:
{% for choice in question.choice_set.all %}
Run Code Online (Sandbox Code Playgroud)
我找不到这方面的简短解释.我知道在admin.py文件中,我在选择模型上创建了一个Question模型的外键,这样每个选择都有一个问题.
我正在尝试在 django 中执行一些消耗大量时间的任务。为此,我将运行后台任务。
经过一些研发,我找到了两种解决方案:
芹菜与 RabbitMQ。
Django 后台任务。
这两个选项似乎都满足标准,但设置 Celery 需要一些工作。现在就第二个选项而言,设置相当简单,而且在相当短的时间内,我可以继续编写后台任务。现在我的问题是,如果我采用第二个选项:
我有四个问题。假设在 Spark 中我有 3 个工作节点。每个工作节点有 3 个执行器,每个执行器有 3 个核心。每个执行器有 5 GB 内存。(总共 6 个执行器、27 个核心和 15GB 内存)。如果出现以下情况会发生什么:
我有 30 个数据分区。每个分区的大小为 6 GB。最佳情况下,分区数量必须等于核心数量,因为每个核心执行一个分区/任务(每个分区一个任务)。现在在这种情况下,由于分区大小大于可用执行器内存,每个执行器核心将如何处理分区?注意:我没有调用cache()或persist(),只是我在rdd上应用了一些狭窄的转换,例如map()和filter()。
Spark 会自动尝试将分区存储在磁盘上吗?(我没有调用cache()或persist(),而只是在调用操作后发生转换)
由于我的分区 (30) 大于可用核心数 (27),因此我的集群最多可以处理 27 个分区,那么剩余 3 个分区会发生什么情况?他们会等待被占用的核心被释放吗?
如果我调用 persist() ,其存储级别设置为 MEMORY_AND_DISK,那么如果分区大小大于内存,它会将数据溢出到磁盘吗?这些数据将存储在哪个磁盘上?工作节点的外部硬盘?
我有一个对象保存在 db 中,时间范围为(t1): 11:45-00:15。现在我有另一个时间范围从 request : (t2) 00:05-00:10。查找此新时间范围是否t2与具有时间范围的已保存对象重叠的最佳方法是什么t1。这就是午夜的情况,那是一天发生变化的地方。同一天,我成功地找到了重叠的时间范围。我没有datetime领域,而我只有time领域,因此我必须利用我已经拥有的东西。
在模型中 t1 将存储为:
start_time = TimeField(null=True, blank=True, db_index=True)
end_time = TimeField(null=True, blank=True, db_index=True)
Run Code Online (Sandbox Code Playgroud)
所以 11:45 将存储在start_time00:15 将存储在end_time
django ×3
python ×3
apache-spark ×1
celery ×1
databricks ×1
partitioning ×1
pyspark ×1
rdd ×1
task ×1