У меня есть фрейм данных Scala со следующей схемой:
filter_msg.printSchema()
root
|-- value: array (nullable = true)
| |-- element: string (containsNull = true)
и образец данных:
|[SD:GK, 3.16.0, OS:Linux, (x86_64), AID:176]|
Я хочу извлечь значения из этой строки массива, где элемент начинается, скажем, с SD, и получить значение, а затем, если его ОС получит значение.
Проблема в том, что позиция в строке массива не всегда одинакова, она постоянно меняется, поэтому я не могу использовать
filter_msg.select($"value".getItem(1).as("SD"))
Вывод должен дать мне фрейм данных:
Output=GK | Linux
Output.printSchema()
String,String