Skip to content

Commit

Permalink
[INLONG-9456][Sort] Support Apache Paimon
Browse files Browse the repository at this point in the history
[INLONG-9456][Sort] Support Apache Paimon

format with spotless
  • Loading branch information
featzhang committed Apr 23, 2024
1 parent 4c04f3a commit 4de385c
Show file tree
Hide file tree
Showing 54 changed files with 4,118 additions and 32 deletions.
65 changes: 33 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,38 +72,39 @@ You can use InLong in the following ways:
- Visualize your operations on [InLong dashboard](https://inlong.apache.org/docs/next/user_guide/dashboard_usage).

## Supported Data Nodes (Updating)
| Type | Name | Version |
|--------------|-------------------|------------------------------|
| Extract Node | Auto Push | None |
| | File | None |
| | Kafka | 2.x |
| | MongoDB | >= 3.6 |
| | MQTT | >= 3.1 |
| | MySQL | 5.6, 5.7, 8.0.x |
| | Oracle | 11,12,19 |
| | PostgreSQL | 9.6, 10, 11, 12 |
| | Pulsar | 2.8.x |
| | Redis | 2.6.x |
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
| Load Node | Auto Consumption | None |
| | ClickHouse | 20.7+ |
| | Elasticsearch | 6.x, 7.x |
| | Greenplum | 4.x, 5.x, 6.x |
| | HBase | 2.2.x |
| | HDFS | 2.x, 3.x |
| | Hive | 1.x, 2.x, 3.x |
| | Iceberg | 0.12.x |
| | Hudi | 0.12.x |
| | Kafka | 2.x |
| | MySQL | 5.6, 5.7, 8.0.x |
| | Oracle | 11, 12, 19 |
| | PostgreSQL | 9.6, 10, 11, 12 |
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
| | TDSQL-PostgreSQL | 10.17 |
| | Doris | >= 0.13 |
| | StarRocks | >= 2.0 |
| | Kudu | >= 1.12.0 |
| | Redis | >= 3.0 |
| Type | Name | Version |
|--------------|------------------|------------------------------|
| Extract Node | Auto Push | None |
| | File | None |
| | Kafka | 2.x |
| | MongoDB | >= 3.6 |
| | MQTT | >= 3.1 |
| | MySQL | 5.6, 5.7, 8.0.x |
| | Oracle | 11,12,19 |
| | PostgreSQL | 9.6, 10, 11, 12 |
| | Pulsar | 2.8.x |
| | Redis | 2.6.x |
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
| Load Node | Auto Consumption | None |
| | ClickHouse | 20.7+ |
| | Elasticsearch | 6.x, 7.x |
| | Greenplum | 4.x, 5.x, 6.x |
| | HBase | 2.2.x |
| | HDFS | 2.x, 3.x |
| | Hive | 1.x, 2.x, 3.x |
| | Iceberg | 0.12.x |
| | Hudi | 0.12.x |
| | Paimon | 0.7.0+ |
| | Kafka | 2.x |
| | MySQL | 5.6, 5.7, 8.0.x |
| | Oracle | 11, 12, 19 |
| | PostgreSQL | 9.6, 10, 11, 12 |
| | SQLServer | 2012, 2014, 2016, 2017, 2019 |
| | TDSQL-PostgreSQL | 10.17 |
| | Doris | >= 0.13 |
| | StarRocks | >= 2.0 |
| | Kudu | >= 1.12.0 |
| | Redis | >= 3.0 |

## Build InLong
More detailed instructions can be found at [Quick Start](https://inlong.apache.org/docs/next/quick_start/how_to_build) section in the documentation.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ public enum TaskTypeEnum {
REDIS(11),
MQTT(12),
HUDI(13),
PAIMON(14),

// only used for unit test
MOCK(201)
Expand Down
84 changes: 84 additions & 0 deletions inlong-dashboard/src/plugins/nodes/defaults/Paimon.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

import { DataWithBackend } from '@/plugins/DataWithBackend';
import { RenderRow } from '@/plugins/RenderRow';
import { RenderList } from '@/plugins/RenderList';
import { NodeInfo } from '../common/NodeInfo';

const { I18n } = DataWithBackend;
const { FieldDecorator } = RenderRow;

export default class PaimonNode extends NodeInfo implements DataWithBackend, RenderRow, RenderList {
@FieldDecorator({
type: 'input',
rules: [{ required: true }],
})
@I18n('meta.Nodes.Paimon.Username')
username: string;

@FieldDecorator({
type: 'password',
rules: [{ required: true }],
})
@I18n('meta.Nodes.Paimon.Password')
token: string;

@FieldDecorator({
type: 'input',
rules: [{ required: true }],
props: values => ({
disabled: [110, 130].includes(values?.status),
placeholder: 'thrift://127.0.0.1:9083',
}),
})
@I18n('meta.Nodes.Paimon.Url')
url: string;

@FieldDecorator({
type: 'input',
rules: [{ required: true }],
props: values => ({
disabled: [110, 130].includes(values?.status),
placeholder: 'hdfs://127.0.0.1:9000/user/paimon/warehouse',
}),
})
@I18n('meta.Nodes.Paimon.Warehouse')
warehouse: string;

@FieldDecorator({
type: 'select',
initialValue: 'HIVE',
props: values => ({
disabled: [110, 130].includes(values?.status),
options: [
{
label: 'HIVE',
value: 'HIVE',
},
{
label: 'HADOOP',
value: 'HADOOP',
},
],
}),
})
@I18n('meta.Nodes.Paimon.CatalogType')
catalogType: string;
}
Loading

0 comments on commit 4de385c

Please sign in to comment.