You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
Рекомендации и подсказки
1. Для парсинга xml строк используйте метод scala.xml.XML.loadString
.
2. Для получения значений из полученного объекта myxml.attribute('UserId')
или myxml.attributes.asAttrMap('UserId')
.
3. Подзадачи "Преобразовать любой файл набора данных stackoverflow в parquet формат c помощью Apache Spark.":
- создать объект типа RDD для текстового файла /data/stackoverflow/posts.xml
- добавить к каждому объекту индекс .zipWithIndex
- убрать из коллекции строки 1, 2 и последню фильтрацией по индексу
- из отфильтрованной коллекции строк получить коллекцию объектов scala.xml.Elem применением метода scala.xml.XML.loadString к каждой строке 5a) определить класс-схему таблицы с именами и типами, соответствующими атрибутам и типам значений строк в xml, используя case class 5b) преобразовать коллекцию scala.xml.Elem в коллекцию объектов вновь созданного типа
- создать Dataset на основе коллекции объектов класса-схемы методом spark.createDataset
- сохранить таблицу в parquet файл
Пример решения
https://gist.github.com/protsenkovi/f163377113b172ccfeb5db397f7dd75c