wuchong commented on a change in pull request #12571:
URL: https://github.com/apache/flink/pull/12571#discussion_r438551243



##########
File path: docs/dev/table/connectors/formats/csv.md
##########
@@ -167,159 +169,81 @@ Data Type Mapping
 
 Currently, the CSV schema is always derived from table schema. Explicitly 
defining an CSV schema is not supported yet.
 
-Flink CSV format uses utility class 
`com.fasterxml.jackson.databind.node.ObjectNode` (for serialization) and 
`com.fasterxml.jackson.databind.JsonNode` (for deserialization) provided by 
`jackson` to convert Flink Data Types to and from CSV text.
+Flink CSV format uses [jackson databind 
API](https://github.com/FasterXML/jackson-databind) to parse and generate CSV 
string.
 
 The following table lists the type mapping from Flink type to CSV type.
 
 <table class="table table-bordered">
     <thead>
       <tr>
         <th class="text-left">Flink Data Type</th>
-        <th class="text-center">CSV conversion</th>
+        <th class="text-center">CSV Data Type</th>
       </tr>
     </thead>
     <tbody>
-    <tr>
-      <td>NULL</td>
-      <td>
-      {% highlight java %}
-      NullNode nullNode()
-      null
-    {% endhighlight %}
-    </td>
-    </tr>
     <tr>
       <td>CHAR / VARCHAR / STRING</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String text)
-      String asText()
-      {% endhighlight %}
-      </td>
+      <td>string</td>
     </tr>
     <tr>
       <td>BOOLEAN</td>
-      <td>
-      {% highlight java %}
-      BooleanNode booleanNode(boolean v)
-      boolean asBoolean()
-      {% endhighlight %}
-      </td>
+      <td>boolean</td>
     </tr>
     <tr>
       <td>BINARY / VARBINARY</td>
-      <td>
-      {% highlight java %}
-      BinaryNode binaryNode(byte[] data)
-      byte[] binaryValue()
-      {% endhighlight %}
-      </td>
+      <td>string with encoding: base64</td>
     </tr>
     <tr>
       <td>DECIMAL</td>
-      <td>
-      {% highlight java %}
-      ValueNode numberNode(BigDecimal v)
-      BigDecimal decimalValue()
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>TINYINT</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(byte v)
-      byte Byte.parseByte(String s)
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>SMALLINT</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(short v)
-      short Short.parseShort(String s)
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
-      <td>INT/INTERVAL_YEAR_MONTH</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(int v)
-      int asInt()
-      {% endhighlight %}
-      </td>
+      <td>INT</td>
+      <td>number</td>
     </tr>
     <tr>
-      <td>BIGINT/INTERVAL_DAY_TIME</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(long v)
-      long asLong()
-      {% endhighlight %}
-      </td>
+      <td>BIGINT</td>
+      <td>number</td>
     </tr>
     <tr>
       <td>FLOAT</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(float v)
-      (float) double asDouble()
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>DOUBLE</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(double v)
-      double asDouble()
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>DATE</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String isoLocalDate)
-      (int) Date.valueOf(String isoLocalDate)
-      {% endhighlight %}
-      </td>
+      <td>string with format: date</td>
     </tr>
     <tr>
       <td>TIME</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String isoLocalTime)
-      LocalTime Time.valueOf(String isoLocalTime)
-      {% endhighlight %}
-      </td>
+      <td>string with format: time</td>
     </tr>
     <tr>
       <td>TIMESTAMP</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String isoLocalDateTime)
-      Timestamp Timestamp.valueOf(String isoLocalDateTime)
-      {% endhighlight %}
-      </td>
+      <td>string with format: date-time</td>
+    </tr>
+    <tr>
+      <td>INTERVAL</td>
+      <td>number</td>
     </tr>
     <tr>
       <td>ARRAY</td>
-      <td>
-      {% highlight java %}
-      JsonNode get(int index) // For each array item, only deserialization 
supported.
-      {% endhighlight %}
-      </td>
+      <td>array <span class="label label-danger">Note</span> only 
deserialization is supported.</td>
     </tr>
     <tr>
       <td>ROW</td>
-      <td>
-      {% highlight java %}
-      JsonNode get(String fieldName) // For each field, only deserialization 
supported.
-      {% endhighlight %}
-      </td>
+      <td>object <span class="label label-danger">Note</span> only 
deserialization is supported.</td>

Review comment:
       Both are supported?

##########
File path: docs/dev/table/connectors/formats/csv.md
##########
@@ -167,159 +169,81 @@ Data Type Mapping
 
 Currently, the CSV schema is always derived from table schema. Explicitly 
defining an CSV schema is not supported yet.
 
-Flink CSV format uses utility class 
`com.fasterxml.jackson.databind.node.ObjectNode` (for serialization) and 
`com.fasterxml.jackson.databind.JsonNode` (for deserialization) provided by 
`jackson` to convert Flink Data Types to and from CSV text.
+Flink CSV format uses [jackson databind 
API](https://github.com/FasterXML/jackson-databind) to parse and generate CSV 
string.
 
 The following table lists the type mapping from Flink type to CSV type.
 
 <table class="table table-bordered">
     <thead>
       <tr>
         <th class="text-left">Flink Data Type</th>
-        <th class="text-center">CSV conversion</th>
+        <th class="text-center">CSV Data Type</th>
       </tr>
     </thead>
     <tbody>
-    <tr>
-      <td>NULL</td>
-      <td>
-      {% highlight java %}
-      NullNode nullNode()
-      null
-    {% endhighlight %}
-    </td>
-    </tr>
     <tr>
       <td>CHAR / VARCHAR / STRING</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String text)
-      String asText()
-      {% endhighlight %}
-      </td>
+      <td>string</td>
     </tr>
     <tr>
       <td>BOOLEAN</td>
-      <td>
-      {% highlight java %}
-      BooleanNode booleanNode(boolean v)
-      boolean asBoolean()
-      {% endhighlight %}
-      </td>
+      <td>boolean</td>
     </tr>
     <tr>
       <td>BINARY / VARBINARY</td>
-      <td>
-      {% highlight java %}
-      BinaryNode binaryNode(byte[] data)
-      byte[] binaryValue()
-      {% endhighlight %}
-      </td>
+      <td>string with encoding: base64</td>
     </tr>
     <tr>
       <td>DECIMAL</td>
-      <td>
-      {% highlight java %}
-      ValueNode numberNode(BigDecimal v)
-      BigDecimal decimalValue()
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>TINYINT</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(byte v)
-      byte Byte.parseByte(String s)
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>SMALLINT</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(short v)
-      short Short.parseShort(String s)
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
-      <td>INT/INTERVAL_YEAR_MONTH</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(int v)
-      int asInt()
-      {% endhighlight %}
-      </td>
+      <td>INT</td>
+      <td>number</td>
     </tr>
     <tr>
-      <td>BIGINT/INTERVAL_DAY_TIME</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(long v)
-      long asLong()
-      {% endhighlight %}
-      </td>
+      <td>BIGINT</td>
+      <td>number</td>
     </tr>
     <tr>
       <td>FLOAT</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(float v)
-      (float) double asDouble()
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>DOUBLE</td>
-      <td>
-      {% highlight java %}
-      NumericNode numberNode(double v)
-      double asDouble()
-      {% endhighlight %}
-      </td>
+      <td>number</td>
     </tr>
     <tr>
       <td>DATE</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String isoLocalDate)
-      (int) Date.valueOf(String isoLocalDate)
-      {% endhighlight %}
-      </td>
+      <td>string with format: date</td>
     </tr>
     <tr>
       <td>TIME</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String isoLocalTime)
-      LocalTime Time.valueOf(String isoLocalTime)
-      {% endhighlight %}
-      </td>
+      <td>string with format: time</td>
     </tr>
     <tr>
       <td>TIMESTAMP</td>
-      <td>
-      {% highlight java %}
-      TextNode textNode(String isoLocalDateTime)
-      Timestamp Timestamp.valueOf(String isoLocalDateTime)
-      {% endhighlight %}
-      </td>
+      <td>string with format: date-time</td>
+    </tr>
+    <tr>
+      <td>INTERVAL</td>
+      <td>number</td>
     </tr>
     <tr>
       <td>ARRAY</td>
-      <td>
-      {% highlight java %}
-      JsonNode get(int index) // For each array item, only deserialization 
supported.
-      {% endhighlight %}
-      </td>
+      <td>array <span class="label label-danger">Note</span> only 
deserialization is supported.</td>

Review comment:
       Both are supported?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to