urlpatterns = [ path('', rankingView, name='ranking'), path('.list', RankingList.as_view(), name='rankingList'), ]
时间: 2024-01-14 15:02:53 浏览: 125
这段代码是 Django 中的 URL 配置,用于将 URL 映射到视图函数或视图类。其中,第一个路径 '' 表示浏览器访问网站根目录时,会调用名为 rankingView 的视图函数来处理请求;第二个路径 '.list' 表示浏览器访问网站根目录加上 .list 时,会调用名为 RankingList 的视图类来处理请求。同时,这两个 URL 都有一个名字,分别是 'ranking' 和 'rankingList',可以在代码中使用 reverse 函数来反向生成 URL。
相关问题
def deduplicate(self, df: DataFrame) -> DataFrame: key_columns = [F.col(column_name) for column_name in self.config.deduplication_key_columns] order_by_columns = [F.col(column_name).desc() for column_name in self.config.deduplication_order_columns] if self.config.deduplicate_order_by_type == "asc": order_by_columns = [F.col(column_name) for column_name in self.config.deduplication_order_columns] ranking_column = "duplicates_rank" is_deleted_column = "IsDeleted" if (self.config.filter_deleted_flag) & ( is_deleted_column in df.columns): # if True removes records that marked deleted filter = (F.col(ranking_column) == 1) & (F.col(is_deleted_column) == "False") else: self.logger.warning(f"Records marked as deleted will be loaded to {self.config.table_full_name} table!") filter = F.col(ranking_column) == 1 return df.withColumn(ranking_column, F.row_number().over(Window.partitionBy(key_columns).orderBy(order_by_columns))).filter( filter).drop(ranking_column)
这段代码是用来去重的,输入是一个DataFrame,输出也是一个DataFrame。该函数首先根据配置文件中的列名获取需要去重的列和排序列,然后按照排序列进行降序或升序排列。接着,该函数给每个分组内的记录打上重复排名,最后根据重复排名过滤出排名为1的记录并删除重复排名列。如果配置文件中开启了筛选标记为删除的记录的功能,并且DataFrame中有IsDeleted列,则会将标记为删除的记录过滤掉。如果没有开启该功能,则会将标记为删除的记录加载到目标表中。
if self.config.deduplicate_order_by_type == "asc": order_by_columns = [F.col(column_name) for column_name in self.config.deduplication_order_columns] ranking_column = "duplicates_rank" is_deleted_column = "IsDeleted"
这段代码主要是对选择的排序方式进行判断,并且选择相应的列名。如果 `self.config.deduplicate_order_by_type` 的值是 "asc",则表示需要按照升序排序,此时 `order_by_columns` 列表中存储的是需要排序的列名对应的 F.col() 函数;如果 `self.config.deduplicate_order_by_type` 的值是 "desc",则表示需要按照降序排序,此时需要将 `order_by_columns` 列表中的每个元素调用 F.col().desc() 方法,表示按照降序排序;`ranking_column` 和 `is_deleted_column` 分别是用于存储生成的新列名和标记是否删除的列名。
阅读全文