@ProcessElement public void processElement(@Element String word, OutputReceiver<Integer> out) { // Use OutputReceiver.output to emit the output element. out.output(word.length()); } } Genericsやアノテーションなどで記述量がそこそこ多くなる JavaよりはKotlinの方が楽かと思い選定から除外
PCollectionのsetCoderでcoderを 都度指定 @DefaultCoder(AvroCoder::class) data class Parson( var id: String? = null, var gender: String? = null, var age: String? = null )
:= {}, assemblyMergeStrategy in assembly ~= { old => { case s if s.endsWith(".properties") => MergeStrategy.filterDistinctLines case s if s.endsWith("public-suffix-list.txt") => MergeStrategy.filterDistinctLines case s if s.endsWith("pom.xml") => MergeStrategy.last case s if s.endsWith(".class") => MergeStrategy.last case s if s.endsWith(".proto") => MergeStrategy.last case s if s.endsWith("libjansi.jnilib") => MergeStrategy.last ….
a. user-dataでdocker起動用のsystemdのconfが渡される b. template-container-argsでdockerコマンドの引数が渡される c. template-container-argsの引数がsystemdのExecStartに渡される 4. systemdがdockerコンテナを起動する