Что такое SparkSQL?

Я очень новичок во всем мире технологий "больших данных", и недавно начал читать о Spark. Одной вещью, которая продолжает появляться, является SparkSQL, но я постоянно не могу понять, что это было именно так.

Предполагается ли конвертировать SQL-запросы в MapReduce, которые выполняют операции с данными, которые вы ему предоставляете? Но разве датафреймы по сути не являются таблицами SQL с точки зрения функциональности?

Или это какая-то технология, которая позволяет подключаться к базе данных SQL и использовать Spark для запроса? В этом случае какой смысл Spark здесь вообще - почему бы не использовать SQL напрямую? Или дело в том, что вы можете использовать свои структурированные данные SQL в сочетании с плоскими данными?

Опять же, я подчеркиваю, что я очень новичок во всем этом и могу или не могу говорить из моей задницы:). Поэтому, пожалуйста, поправьте меня и будьте прощающими, если вы видите, что я явно что-то неправильно понимаю.

2 ответа

Решение

Ваш первый ответ по существу правильный, это API в Spark, где вы можете писать запросы в SQL, и они будут преобразованы в распараллеленное задание Spark (Spark может выполнять более сложные типы операций, чем просто отображать и сокращать). Фреймы Spark Data на самом деле являются просто оболочкой для этого API, это просто альтернативный способ доступа к API, в зависимости от того, удобнее ли вам кодировать в SQL или в Python/Scala.

искра

Spark - это платформа или очень большой набор компонентов, которые используются для масштабируемого и эффективного анализа больших данных.

Например: люди загружают петабайт видео на YouTube каждый день. Теперь время чтения одного терабайта с диска составляет около трех часов со скоростью 100 мегабайт в секунду. Это на самом деле довольно долго (недорогой диск здесь не поможет). Поэтому проблема, с которой мы сталкиваемся, заключается в том, что одна машина не может обрабатывать или даже хранить все данные. Таким образом, наше решение распределяет данные по кластеру машин.

DataFrames являются основной абстракцией в Spark.

Мы можем построить фрейм данных из текстовых файлов, файлов Json, распределенной файловой системы Hadoop, Apache Parquet или Hypertable или файла Amazon S3, Apache HBase, а затем выполнить некоторые операции, преобразовывая его независимо от того, откуда поступают данные.

Spark Sql

Spark SQL - это модуль Spark для структурированной обработки данных. как описано на странице документации здесь.

Поэтому одним из интересов Spark SQL является то, что он позволяет нам запрашивать структурированные данные из многих источников данных с синтаксисом SQL и предлагать множество других возможностей. Я думаю, что по этой причине мы не используем SQL напрямую.

Другие вопросы по тегам