RickyHuo commented on a change in pull request #46: URL: https://github.com/apache/incubator-seatunnel-website/pull/46#discussion_r780670032
########## File path: faq/faq.md ########## @@ -0,0 +1,348 @@ +--- +title: SeaTunnel FAQ +--- + +**FAQ 1.** I encounter a problem when using SeaTunnel and I cannot solve it by myself. What should I do?Firstly search in [Issue list](https://translate.google.com/translate?hl=zh-CN&prev=_t&sl=auto&tl=en&u=https://github.com/apache/incubator-seatunnel/issues) or [mailing list](https://translate.google.com/translate?hl=zh-CN&prev=_t&sl=auto&tl=en&u=https://lists.apache.org/list.html%3Fdev%40seatunnel.apache.org) to see if someone has already asked the same question and got the answer. If you still cannot find the answer, you can contact community members for help in[ these ways](https://translate.google.com/translate?hl=zh-CN&prev=_t&sl=auto&tl=en&u=https://github.com/apache/incubator-seatunnel%23contact-us#contact-us) . + +**FAQ 2.** How to declare a variable in SeaTunnel's configuration, and then dynamically replace the value of the variable at runtime? + +Since `v1.2.4` SeaTunnel supports variables substitution in the configuration. This feature is often used for timing or non-timing offline processing to replace variables such as time and date. The usage is as follows: + +Configure the variable name in the configuration, here is an example of sql transform (actually anywhere in the configuration file the value in 'key = value' can use the variable substitution): + +``` +... +transform { + sql { + sql = "select * from user_view where city ='"${city}"' and dt = '"${date}"'" + } +} +... +``` + +Taking Spark Local mode as an example, the startup command is as follows: + +```shell +./bin/start-seatunnel-spark.sh -c ./config/your_app.conf -e client -m local[2] -i city=shanghai -i date=20190319 +``` + +You can use the parameter `-i` or `--variable` followed with `key=value` to specify the value of the variable, where the key needs to be same as the variable name in the configuration. + +**FAQ 3.** How to write a configuration item into multi-line text in the configuration file? + +When a configured text is very long and you want to wrap it, you can use three double quotes to indicate it: + +``` +var = """ + whatever you want +""" +``` + +**FAQ 4.** How to implement variable substitution for multi-line text? + +It is a little troublesome to do variable substitution in multi-line text, because the variable cannot be included in three double quotation marks: + +``` +var = """ +your string 1 +"""${you_var}""" your string 2""" +``` + +refer to:[lightbend/config#456](https://github.com/lightbend/config/issues/456) + +**FAQ 5.** Is SeaTunnel supportted in Azkaban, Oozie, DolphinScheduler? + +Of course, please see the screenshot below: + +<img src="/doc/image/faq.assets/workflow.png" alt="img" /> + +<img src="/doc/image/faq.assets/azkaban.png" alt="img" /> + +**FAQ 6.** Does SeaTunnel have a case of configuring multiple sources, such as configuring elasticsearch and hdfs in source at the same time? + +``` +env { + ... +} + +source { + hdfs { ... } + elasticsearch { ... } + mysql {...} +} + +transform { + sql { + sql = """ + select .... from hdfs_table + join es_table + on hdfs_table.uid = es_table.uid where ...""" + } +} + +sink { + elasticsearch { ... } +} +``` + +**FAQ 7.** Are there any HBase plugins? + +There is hbase input plugin, download it from here:https://github.com/garyelephant/waterdrop-input-hbase + +**FAQ 8.** How to use SeaTunnel to write data to Hive? Review comment: SeaTunnel 1.5.7 has implemented `Hive` output plugin. We can notice this. -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
