Skip to content

sql(query)

Описание

Функция sql() выполняет SQL-запрос, заданный в виде строки.

Параметры

  • query: str - строка, содержащая SQL-запрос

Возвращаемое значение

DataFrame - результат выполнения SQL-запроса

Пример использования

from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("sql_example").getOrCreate()

# Создаем DataFrame
data = [
    (1, "John", 25),
    (2, "Jane", 30),
    (3, "Bob", 35)
]
df = spark.createDataFrame(data, ["id", "name", "age"])

# Регистрируем DataFrame как временную таблицу
df.createOrReplaceTempView("people")

# Выполняем SQL-запрос
result = spark.sql("""
    SELECT name, age 
    FROM people 
    WHERE age > 30
    ORDER BY age DESC
""")
result.show(truncate=False)

# Результат:
# +----+---+
# |name|age|
# +----+---+
# |Bob |35 |
# |Jane|30 |
# +----+---+

Примечания

  • Запрос должен быть валидным SQL-запросом
  • Поддерживает все стандартные SQL-функции
  • Полезно для:
  • Выполнения сложных SQL-запросов
  • Использования SQL-синтаксиса
  • Интеграции с существующими SQL-скриптами
  • Связанные функции:
  • expr() - создание выражения из строки
  • eval() - выполнение SQL-выражения