Skip to content

Commit aa39b03

Browse files
committed
[INLONG-9456][Sort] Support Apache Paimon
[INLONG-9456][Sort] Support Apache Paimon
1 parent 4c04f3a commit aa39b03

File tree

54 files changed

+4099
-32
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+4099
-32
lines changed

README.md

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -72,38 +72,39 @@ You can use InLong in the following ways:
7272
- Visualize your operations on [InLong dashboard](https://inlong.apache.org/docs/next/user_guide/dashboard_usage).
7373

7474
## Supported Data Nodes (Updating)
75-
| Type | Name | Version |
76-
|--------------|-------------------|------------------------------|
77-
| Extract Node | Auto Push | None |
78-
| | File | None |
79-
| | Kafka | 2.x |
80-
| | MongoDB | >= 3.6 |
81-
| | MQTT | >= 3.1 |
82-
| | MySQL | 5.6, 5.7, 8.0.x |
83-
| | Oracle | 11,12,19 |
84-
| | PostgreSQL | 9.6, 10, 11, 12 |
85-
| | Pulsar | 2.8.x |
86-
| | Redis | 2.6.x |
87-
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
88-
| Load Node | Auto Consumption | None |
89-
| | ClickHouse | 20.7+ |
90-
| | Elasticsearch | 6.x, 7.x |
91-
| | Greenplum | 4.x, 5.x, 6.x |
92-
| | HBase | 2.2.x |
93-
| | HDFS | 2.x, 3.x |
94-
| | Hive | 1.x, 2.x, 3.x |
95-
| | Iceberg | 0.12.x |
96-
| | Hudi | 0.12.x |
97-
| | Kafka | 2.x |
98-
| | MySQL | 5.6, 5.7, 8.0.x |
99-
| | Oracle | 11, 12, 19 |
100-
| | PostgreSQL | 9.6, 10, 11, 12 |
101-
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
102-
| | TDSQL-PostgreSQL | 10.17 |
103-
| | Doris | >= 0.13 |
104-
| | StarRocks | >= 2.0 |
105-
| | Kudu | >= 1.12.0 |
106-
| | Redis | >= 3.0 |
75+
| Type | Name | Version |
76+
|--------------|------------------|------------------------------|
77+
| Extract Node | Auto Push | None |
78+
| | File | None |
79+
| | Kafka | 2.x |
80+
| | MongoDB | >= 3.6 |
81+
| | MQTT | >= 3.1 |
82+
| | MySQL | 5.6, 5.7, 8.0.x |
83+
| | Oracle | 11,12,19 |
84+
| | PostgreSQL | 9.6, 10, 11, 12 |
85+
| | Pulsar | 2.8.x |
86+
| | Redis | 2.6.x |
87+
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
88+
| Load Node | Auto Consumption | None |
89+
| | ClickHouse | 20.7+ |
90+
| | Elasticsearch | 6.x, 7.x |
91+
| | Greenplum | 4.x, 5.x, 6.x |
92+
| | HBase | 2.2.x |
93+
| | HDFS | 2.x, 3.x |
94+
| | Hive | 1.x, 2.x, 3.x |
95+
| | Iceberg | 0.12.x |
96+
| | Hudi | 0.12.x |
97+
| | Paimon | 0.7.0+ |
98+
| | Kafka | 2.x |
99+
| | MySQL | 5.6, 5.7, 8.0.x |
100+
| | Oracle | 11, 12, 19 |
101+
| | PostgreSQL | 9.6, 10, 11, 12 |
102+
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
103+
| | TDSQL-PostgreSQL | 10.17 |
104+
| | Doris | >= 0.13 |
105+
| | StarRocks | >= 2.0 |
106+
| | Kudu | >= 1.12.0 |
107+
| | Redis | >= 3.0 |
107108

108109
## Build InLong
109110
More detailed instructions can be found at [Quick Start](https://inlong.apache.org/docs/next/quick_start/how_to_build) section in the documentation.

inlong-common/src/main/java/org/apache/inlong/common/enums/TaskTypeEnum.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ public enum TaskTypeEnum {
4444
REDIS(11),
4545
MQTT(12),
4646
HUDI(13),
47+
PAIMON(14),
4748

4849
// only used for unit test
4950
MOCK(201)
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
import { DataWithBackend } from '@/plugins/DataWithBackend';
21+
import { RenderRow } from '@/plugins/RenderRow';
22+
import { RenderList } from '@/plugins/RenderList';
23+
import { NodeInfo } from '../common/NodeInfo';
24+
25+
const { I18n } = DataWithBackend;
26+
const { FieldDecorator } = RenderRow;
27+
28+
export default class PaimonNode extends NodeInfo implements DataWithBackend, RenderRow, RenderList {
29+
@FieldDecorator({
30+
type: 'input',
31+
rules: [{ required: true }],
32+
})
33+
@I18n('meta.Nodes.Paimon.Username')
34+
username: string;
35+
36+
@FieldDecorator({
37+
type: 'password',
38+
rules: [{ required: true }],
39+
})
40+
@I18n('meta.Nodes.Paimon.Password')
41+
token: string;
42+
43+
@FieldDecorator({
44+
type: 'input',
45+
rules: [{ required: true }],
46+
props: values => ({
47+
disabled: [110, 130].includes(values?.status),
48+
placeholder: 'thrift://127.0.0.1:9083',
49+
}),
50+
})
51+
@I18n('meta.Nodes.Paimon.Url')
52+
url: string;
53+
54+
@FieldDecorator({
55+
type: 'input',
56+
rules: [{ required: true }],
57+
props: values => ({
58+
disabled: [110, 130].includes(values?.status),
59+
placeholder: 'hdfs://127.0.0.1:9000/user/paimon/warehouse',
60+
}),
61+
})
62+
@I18n('meta.Nodes.Paimon.Warehouse')
63+
warehouse: string;
64+
65+
@FieldDecorator({
66+
type: 'select',
67+
initialValue: 'HIVE',
68+
props: values => ({
69+
disabled: [110, 130].includes(values?.status),
70+
options: [
71+
{
72+
label: 'HIVE',
73+
value: 'HIVE',
74+
},
75+
{
76+
label: 'HADOOP',
77+
value: 'HADOOP',
78+
},
79+
],
80+
}),
81+
})
82+
@I18n('meta.Nodes.Paimon.CatalogType')
83+
catalogType: string;
84+
}

0 commit comments

Comments
 (0)