Для сценария, который я запускаю, у меня есть несколько связанных цепочек представлений, которые просматривали определенный набор данных в sql (я использую Apache Spark SQL):
%sql
create view view_1 as
select column_1,column_2 from original_data_table
Эта логика завершаетсяview_n
.Однако затем мне нужно выполнить логику, которую сложно (или невозможно) реализовать в sql, в частности, команду explode
:
%python
df_1 = sqlContext.sql("SELECT * from view_n")
df1_exploded=df_1.withColumn("exploded_column", explode(split(df_1f.col_to_explode,',')))
Мои вопросы:
Существуют ли затраты на скорость, связанные с переключением таблиц sql в таблицы данных pyspark и обратно?Или, поскольку фреймы данных pyspark оцениваются лениво, очень ли это похоже на представление?
Есть ли лучший способ переключения таблицы sql и таблицы sql на фрейм данных pyspark?