#python #sql #pandas #pyspark #apache-spark-sql
#python #sql #pandas #pyspark #apache-spark-sql
Вопрос:
Я пытаюсь переключиться с pandas на pyspark, и обычно, когда я проводил свой анализ, я использовал pd.read_sql_query
для чтения данных, необходимых для анализа, из базы данных redshift.
Пример:
query = '''
SELECT id, SUM(value)
FROM table
GROUP BY id
'''
df = pd.read_sql_query(query, engine)
Есть ли какая-либо эквивалентная функция в PySpark? Что-то, что получает запрос и движок SQLAlchemy и возвращает результат запроса? Если нет, то каков наилучший способ получить результат SQL-запроса в pyspark?
Я пытался найти что-нибудь в pyspark.SQLContext
, но не нашел ничего полезного.
Ответ №1:
используйте spark.sql()
API для выполнения вашего запроса.
Example:
query='select 1'
spark.sql(query).show()
# ---
#| 1|
# ---
#| 1|
# ---
Чтобы запустить запрос в любой RDBMS
базе данных, затем используйте spark.read.format("jdbc")
для установления соединения и выполнения вашего запроса.
spark.read.format("jdbc").option(...).load()
Комментарии:
1. Отлично! Спасибо за помощь