Постановка проблемы:
У меня есть входная коллекция PCollection со следующими полями:
{
firstname_1,
lastname_1,
dob,
firstname_2,
lastname_2,
firstname_3,
lastname_3,
}
, затем я выполняю операцию Beam SQL так, чтобы результат результирующей коллекции PCollection был похож на
----------------------------------------------
name.firstname | name.lastname | dob
----------------------------------------------
firstname_1 | lastname_1 | 202009
firstname_2 | lastname_2 |
firstname_3 | lastname_3 |
-----------------------------------------------
Чтобы быть точным:
array[
(firstname_1,lastname_1,dob),
(firstname_2,lastname_2,dob),
(firstname_3,lastname_3,dob)
]
Вот фрагмент кода, в котором я выполняю Beam SQL:
PCollectionTuple tuple=
PCollectionTuple.of(new TupleTag<>("testPcollection"), testPcollection);
PCollection<Row> result = tuple
.apply(SqlTransform.query(
"SELECT array[(firstname_1,lastname_1,dob), (firstname_2,lastname_2,dob), (firstname_3,lastname_3,dob)]"));
Я не получаю должных результатов.
Может ли кто-нибудь подсказать мне, как запросить массив повторяющихся полей в Beam SQL?