????????

       ??????????Flink SQL 
??????????????????????????????????yaml????????????????????????,????????????????????????????
 hive??????????????????'\036'????????????????????


[root@server2 bin]# /home/hadoop/flink-1.7.2/bin/sql-client.sh embedded -e 
/home/hadoop/flink_test/env.yaml
Setting HADOOP_CONF_DIR=/etc/hadoop/conf because no HADOOP_CONF_DIR was set.
No default environment specified.
Searching for '/home/hadoop/flink-1.7.2/conf/sql-client-defaults.yaml'...found.
Reading default environment from: 
file:/home/hadoop/flink-1.7.2/conf/sql-client-defaults.yaml
Reading session environment from: file:/home/hadoop/flink_test/env.yaml




Exception in thread "main" org.apache.flink.table.client.SqlClientException: 
Could not parse environment file. Cause: YAML decoding problem: while parsing a 
block collection
 in 'reader', line 2, column 2:
     - name: MyTableSource
     ^
expected <block end>, but found BlockMappingStart
 in 'reader', line 17, column 3:
      schema:
      ^
 (through reference chain: 
org.apache.flink.table.client.config.Environment["tables"])
        at 
org.apache.flink.table.client.config.Environment.parse(Environment.java:146)
        at 
org.apache.flink.table.client.SqlClient.readSessionEnvironment(SqlClient.java:162)
        at org.apache.flink.table.client.SqlClient.start(SqlClient.java:90)
        at org.apache.flink.table.client.SqlClient.main(SqlClient.java:187)










--????????env.yaml
tables:
 - name: MyTableSource
   type: source-table
   update-mode: append
   connector:
     type: filesystem
     path: "/home/hadoop/flink_test/input.csv"
   format:
    type: csv
    fields:
        - name: MyField1
          type: INT
        - name: MyField2
          type: VARCHAR
    line-delimiter: "\n"
    comment-prefix: "#"
  schema:
        - name: MyField1
        type: INT
        - name: MyField2
        type: VARCHAR
 - name: MyCustomView
   type: view
   query: "SELECT MyField2 FROM MyTableSource"
# Execution properties allow for changing the behavior of a table program.
execution:
 type: streaming # required: execution mode either 'batch' or 'streaming'
 result-mode: table # required: either 'table' or 'changelog'
 max-table-result-rows: 1000000 # optional: maximum number of maintained rows in
 # 'table' mode (1000000 by default, smaller 1 means unlimited)
 time-characteristic: event-time # optional: 'processing-time' or 'event-time' 
(default)
 parallelism: 1 # optional: Flink's parallelism (1 by default)
 periodic-watermarks-interval: 200 # optional: interval for periodic 
watermarks(200 ms by default)
 max-parallelism: 16 # optional: Flink's maximum parallelism (128by default)
 min-idle-state-retention: 0 # optional: table program's minimum idle state time
 max-idle-state-retention: 0 # optional: table program's maximum idle state time
 restart-strategy: # optional: restart strategy
   type: fallback # "fallback" to global restart strategy by
default
# Deployment properties allow for describing the cluster to which table 
programsare submitted to.
deployment:
  response-timeout: 5000

回复