This is an automated email from the ASF dual-hosted git repository.

gaojun2048 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new dce1cb7bd [Feature][Doc] Add doc about connector-v2 schema feature 
(#3296)
dce1cb7bd is described below

commit dce1cb7bdba84ae6ea223d10a5291adc0b381d1a
Author: liugddx <[email protected]>
AuthorDate: Tue Nov 8 14:31:59 2022 +0800

    [Feature][Doc] Add doc about connector-v2 schema feature (#3296)
---
 docs/en/concept/schema-feature.md | 62 +++++++++++++++++++++++++++++++++++++++
 docs/sidebars.js                  |  3 +-
 2 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/docs/en/concept/schema-feature.md 
b/docs/en/concept/schema-feature.md
new file mode 100644
index 000000000..88120075f
--- /dev/null
+++ b/docs/en/concept/schema-feature.md
@@ -0,0 +1,62 @@
+# Intro to schema feature
+
+## Why we need schema
+
+Some NoSQL databases or message queue are not strongly limited schema, so the 
schema cannot be obtained through the api. At this time, a schema needs to be 
defined to convert to SeaTunnelRowType and obtain data.
+
+## What type supported at now
+
+| Data type | Description                                                  |
+| :-------- | :----------------------------------------------------------- |
+| string    | string                                                       |
+| boolean   | boolean                                                      |
+| tinyint   | -128 to 127 regular. 0 to 255 unsigned*. Specify the maximum 
number of digits in parentheses. |
+| smallint  | -32768 to 32767 General. 0 to 65535 unsigned*. Specify the 
maximum number of digits in parentheses. |
+| int       | All numbers from -2,147,483,648 to 2,147,483,647 are allowed. |
+| bigint    | All numbers between -9,223,372,036,854,775,808 and 
9,223,372,036,854,775,807 are allowed. |
+| float     | Float-precision numeric data from -1.79E+308 to 1.79E+308.   |
+| double    | Double precision floating point. Handle most decimals.       |
+| decimal   | DOUBLE type stored as a string, allowing a fixed decimal point. |
+| null      | null                                                         |
+| bytes     | bytes.                                                       |
+| date      | Only the date is stored. From January 1, 0001 to December 31, 
9999. |
+| time      | Only store time. Accuracy is 100 nanoseconds.                |
+| timestamp | Stores a unique number that is updated whenever a row is created 
or modified. timestamp is based on the internal clock and does not correspond 
to real time. There can only be one timestamp variable per table. |
+| row       | Row type,can be nested.                                      |
+
+## How to use schema
+
+`schema` defines the format of the data,it contains`fields` properties. 
`fields` define the field properties,it's a K-V key-value pair, the Key is the 
field name and the value is field type. Here is an example.
+
+```
+source {
+  FakeSource {
+    parallelism = 2
+    result_table_name = "fake"
+    row.num = 16
+    schema = {
+      fields {
+        id = bigint
+        c_map = "map<string, smallint>"
+        c_array = "array<tinyint>"
+        c_string = string
+        c_boolean = boolean
+        c_tinyint = tinyint
+        c_smallint = smallint
+        c_int = int
+        c_bigint = bigint
+        c_float = float
+        c_double = double
+        c_decimal = "decimal(2, 1)"
+        c_bytes = bytes
+        c_date = date
+        c_timestamp = timestamp
+      }
+    }
+  }
+}
+```
+
+## When we should use it or not
+
+If there is a `schema` configuration project in Options,the connector can then 
customize the schema. Like `Fake` `Pulsar` `Http` source connector etc. 
diff --git a/docs/sidebars.js b/docs/sidebars.js
index c7da60b3f..bc10eca4b 100644
--- a/docs/sidebars.js
+++ b/docs/sidebars.js
@@ -93,7 +93,8 @@ const sidebars = {
             "label": "Concept",
             "items": [
                 "concept/config",
-                "concept/connector-v2-features"
+                "concept/connector-v2-features",
+                'concept/schema-feature'
             ]
         },
         {

Reply via email to