Какие самые распространенные типы файлов в Spark

обучение spark sql, курсы spark sql, курсы основы hadoop, курс dataframes spark, курсы для администраторов apache spark, курсы для инженеров данных apache spark, курсы по spark, Big Data, Spark, фреймворк, распределение, RDD, кластер, узлы, hadoop spark, обучение apache spark, spark streaming это, курсы по spark, курс kafka spark

Сегодня поговорим о том, с какими наиболее распространенными форматами файлов способен поддерживать работу фреймворк Spark. Читайте далее про особенности обработки Big Data в Spark с помощью двух наиболее распространенных форматов файлов.

Какие форматы файлов наиболее популярны при обработке данных в Spark

Фреймворк Spark может работать с данными, которые загружаются из различных файлов. Для доступа к данным Spark использует интерфейсы InputFormat и OutputFormat, которые поддерживают множество форматов файлов (CSV, JSON, XLS, TXT и т.д) и систем хранения данных (например, HDFS, S3, Cassandra, HBase). В этой статье мы поговорим о следующих наиболее известных форматах файлов в Spark:

  • текстовый формат – это файлы, содержимое которых воспринимается как набор строк с текстовыми значениями. Когда текстовый файл используется как источник данных, Spark интерпретирует каждую его строку как отдельный элемент набора RDD. RDD (Resilient Distributed Dataset) – это неизменяемая коллекция объектов данных. Каждый такой набор делится на определенное количество частей, которые обрабатываются различными узлами в кластере.
  • CSV-формат – (Comma-Separated Values – данные, разделенные запятой) – это данные, которые представляют собой набор значений, разделенных специальным разделителем (как правило, запятой). Такие файлы содержат фиксированное число полей в каждой строке. Таким образом CSV-файл можно представить в виде таблицы с данными. Этот тип файлов можно загружать в виде текста, как рассматривалось выше, а можно в виде датафрейма. Датафрейм (dataframe) – это двумерная маркированная структура данных. Визуально она представляет собой таблицу, состоящую из фиксированного числа строк и столбцов. Датафрейм служит для быстрой и удобной работы с большими данными.

Особенности работы с файлами в Spark: несколько практических примеров

Для того, чтобы загрузить данные в текстовом формате используется метод textFile:

my_text=sc.textFile('my_tweets.csv')
type(my_text) ##pyspark.rdd.RDD

Как видно из кода, метод textFile() преобразовал наши данные в распределенный набор RDD независимо от его расширения.

А теперь рассмотрим, как происходит сохранение RDD в текстовый формат:

typic_rdd = sc.parallelize([1,2,3,4,5,6,7,8])
typic_rdd.saveAsTextFile('my_text')

Метод saveAsTextFile() создает новый каталог и помещает туда множество файлов с содержимым RDD. Такой подход дает возможность сохранять данные с нескольких узлов одновременно.

Рассмотрим, как можно загрузить данные из CSV-источника. Этот тип файлов можно загружать в виде текста, как рассматривалось выше, а можно в виде датафрейма через специальный метод read.csv():

csv_data = spark.read.option('header','True').csv('my_tweets.csv',sep=',')
type(csv_data)##pyspark.sql.dataframe.DataFrame

Как мы видим, метод read.csv()  загрузил наши данные и создал датафрейм. Теперь мы можем обрабатывать данные и применять к нему методы для работы с датафреймами.

Так как наши данные представляют собой Spark-датафрейм, для более удобного сохранения мы можем перевести его в Pandas-датафрейм с помощью метода toPandas() и напрямую сохранить в формате CSV:

pandas_data=csv_data.toPandas()
pandas_data.to_csv('new_data.csv')

Таким образом, Spark обеспечивает разработчика возможностью работать с данными из внешних источников, что делает его весьма полезным инструментом для Data Scientist’а и разработчика Big Data приложений.

Core Spark - основы для разработчиков

Код курса
CORS
Ближайшая дата курса
1 апреля, 2024
Длительность обучения
16 ак.часов
Стоимость обучения
48 000 руб.

Более подробно про применение Apache Spark в проектах анализа больших данных, разработки Big Data приложений и прочих прикладных областях Data Science вы узнаете на практических курсах по Spark в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:

Записаться на курс

Смотреть раcписание

Источники

  1. https://spark.apache.org/documentation.html
  2. К.Харау, Э.Ковински, П.Венделл, М.Захария. Изучаем Spark: молниеносный анализ данных

Добавить комментарий

Поиск по сайту