feature(web): 增加独立小工具

直接通过HDFS查询时间线,有时候保留现场会直接copy一个hdfs目录,不遵循生产表的逻辑,只能通过hdfs路经查询
This commit is contained in:
2023-07-04 20:09:49 +08:00
parent 07200b890f
commit fb231805c2
5 changed files with 152 additions and 45 deletions

View File

@@ -8,13 +8,13 @@ function crudCommonOptions() {
}
}
function paginationCommonOptions(perPage = true) {
function paginationCommonOptions(perPage = true, maxButtons = 5) {
let option = {
type: 'pagination',
layout: [
'pager'
],
maxButtons: 5,
maxButtons: maxButtons,
showPageInput: false,
perPageAvailable: [10, 15, 20, 50, 100, 200],
}
@@ -740,6 +740,52 @@ function flinkJobDialog() {
}
}
function timelineColumns() {
return [
{
name: 'timestamp',
label: '时间点',
width: 150,
sortable: true,
},
{
name: 'action',
label: '类型',
width: 100,
...mappingField('action', hudiTimelineActionMapping),
filterable: filterableField(hudiTimelineActionMapping, false),
},
{
name: 'state',
label: ' 状态',
width: 80,
align: 'center',
...mappingField('state', hudiTimelineStateMapping),
filterable: filterableField(hudiTimelineStateMapping, true),
},
{
name: 'fileTime',
label: ' 文件时间',
width: 150,
align: 'center',
type: 'tpl',
tpl: "${DATETOSTR(DATE(fileTime), 'YYYY-MM-DD HH:mm:ss')}",
},
{
name: 'fileName',
label: '文件名',
},
{
name: 'type',
label: '来源',
width: 60,
align: 'center',
...mappingField('type', hudiTimelineTypeMapping),
filterable: filterableField(hudiTimelineTypeMapping, true),
},
]
}
function tableMetaDialog() {
return {
title: 'Table 详情',
@@ -920,49 +966,7 @@ function tableMetaDialog() {
footerToolbar: [
paginationCommonOptions(),
],
columns: [
{
name: 'timestamp',
label: '时间点',
width: 150,
sortable: true,
},
{
name: 'action',
label: '类型',
width: 100,
...mappingField('action', hudiTimelineActionMapping),
filterable: filterableField(hudiTimelineActionMapping, false),
},
{
name: 'state',
label: ' 状态',
width: 80,
align: 'center',
...mappingField('state', hudiTimelineStateMapping),
filterable: filterableField(hudiTimelineStateMapping, true),
},
{
name: 'fileTime',
label: ' 文件时间',
width: 150,
align: 'center',
type: 'tpl',
tpl: "${DATETOSTR(DATE(fileTime), 'YYYY-MM-DD HH:mm:ss')}",
},
{
name: 'fileName',
label: '文件名',
},
{
name: 'type',
label: '来源',
width: 60,
align: 'center',
...mappingField('type', hudiTimelineTypeMapping),
filterable: filterableField(hudiTimelineTypeMapping, true),
},
],
columns: timelineColumns(),
}
}
},

View File

@@ -0,0 +1,63 @@
function toolTab() {
return {
title: `小工具`,
tab: [
{
type: 'form',
title: '查询时间线',
mode: 'horizontal',
horizontal: {
leftFixed: 'md',
},
actions: [
{
type: 'submit',
label: '查询',
actionType: 'dialog',
dialog: {
title: 'Hudi 表时间线',
actions: [],
size: 'lg',
body: {
type: 'crud',
api: {
method: 'get',
url: '${base}/hudi/timeline/list_hdfs',
data: {
page: '${page|default:undefined}',
count: '${perPage|default:undefined}',
order: '${orderBy|default:undefined}',
direction: '${orderDir|default:undefined}',
hdfs: '${hdfs|default:undefined}',
filter_type: "${type|default:active}",
filter_action: '${action|default:undefined}',
filter_state: '${state|default:undefined}',
},
},
...crudCommonOptions(),
perPage: 50,
headerToolbar: [
"reload",
paginationCommonOptions(undefined, 10),
],
footerToolbar: [
paginationCommonOptions(undefined, 10),
],
columns: timelineColumns(),
}
}
}
],
body: [
{
type: 'input-text',
name: 'hdfs',
label: '表HDFS路经',
required: true,
}
]
},
{type: 'divider'},
]
}
}