Я пытаюсь прочитать конфигурационный файл и на основании этого мне нужно сформировать запрос, при этом мне нужно позаботиться и о пустых и недействительных полях тоже ...
файл конфигурации
table_name / field1,, field2, field3 / Key_column
здесь у меня есть пустая / пустая строка, которую мне нужно отфильтровать, и, наконец, мне нужно сформировать динамический запрос, такой как
здесь я изменил запрос coz норм безопасности данных компании
select a.* from table_name a,(select " + key_col + ",MAX(" + key_column + ") as incremental_col FROM " + table_name group by key_col) b where a." + field1 + "=b." + field2 + " and a." + field2 + "=b." + field2 + " and a." + field3 + "=b." + field3 + " and a." + key_column + "=b.incremental_col
в конфигурационном файле может быть любое количество файлов.
то, что я пробовал до сих пор, приведено ниже:
val source_data = sc.textFile("file://" + args(0)).collect();
val table_name = source_data(i).split("/")(0);
val key_col = source_data(i).split("/")(1);
val Key_column = source_data(i).split("/")(2);
val Key_col_1 = key_col.split(",").filter(s => s.trim().length() != 0);
но я не могу создать этот динамический запрос .., для которого мне нужно, чтобы каждое значение поля было связано.Я считаю, что должен быть запущен один цикл, который должен проверить длину строки key_col_1 и создать динамическое поле.но я не могу получить точно любезную помощь