Size: a a a

2021 May 11

А

Алексей in Moscow Spark
добрый день,
подскажите, в Spark есть возможность сделать функцию с параметром, которую можно было бы использовать как источник в секции from spark sql?
чтото типа LATERAL join в postgres или pipleline table function в oracle
у меня на входе куча таблиц с периодами, которые надо поджойнить, но аналитики знают только sql
источник

ЕГ

Евгений Глотов... in Moscow Spark
Можно замутить регламентный процесс, который делает create view с нужным параметром внутри куска sql)
источник

А

Алексей in Moscow Spark
это подошло бы, если нужны были бы только текущие цены, но нужна еще история
источник

ИК

Иван Калининский... in Moscow Spark
источник

e

er@essbase.ru in Moscow Spark
хм.. мне кажется что spark_sql позволяет селектить из дата-фрейма
источник

NN

No Name in Moscow Spark
Не, или из хайвовой таблички, или из темповой
источник

e

er@essbase.ru in Moscow Spark
ну да ,
что то вот такое

// Register the DataFrame as a global temporary view
df.createGlobalTempView("people")

// Global temporary view is tied to a system preserved database global_temp
spark.sql("SELECT * FROM global_temp.people").show()

// Register the DataFrame as a SQL temporary view
df.createOrReplaceTempView("people")

val sqlDF = spark.sql("SELECT * FROM people")
sqlDF.show()
источник

ИК

Иван Калининский... in Moscow Spark
А вдруг там нет df? Есть только select * from …
источник

А

Алексей in Moscow Spark
там только результат explode , насколько понял запрос нельзя поместить
источник

ИК

Иван Калининский... in Moscow Spark
А если покрутить, сгруппировать, сделать там collect_list ?
источник

ИК

Иван Калининский... in Moscow Spark
сложна что-то получается, да (
источник

А

Алексей in Moscow Spark
да, там в lateral основные таблицы, думаю все будет работать вечность так.
запрос вида:
select * from calendar c
lateral join (select * from prices p where c.day between p.datefrom and p.dateto)
where c.day = '20210511'
источник

ИК

Иван Калининский... in Moscow Spark
может, попробовать свести к left outer join ?
источник

А

Алексей in Moscow Spark
да, так работает, но будет nested loop и без пуша фильтра
источник

Н

Никита in Moscow Spark
Привет всем, а как вы дебажите функции, которые натравливаете на rdd
Т.е. часть строк выполняется без ошибок, а другие вызывают exception, как распечатать эти строки?
источник

N

Nikita Blagodarnyy in Moscow Spark
Бей датасет на части, смотри на какой части валится. Дихотомия помогает.
источник

AS

Andrey Smirnov in Moscow Spark
Прикрути логи
источник

Н

Никита in Moscow Spark
спасибо, много раз гуглил, щас повезло наткнуться на yarn_logger, который позволяет логгировать с executors
источник
2021 May 13

N

Nikita Blagodarnyy in Moscow Spark
кто-нибудь понимает, какой смысл в такой засолке? ведь он тупо константу добавляет в ключ. вместо (x,y) будет (x,y,z), который также приедет весь на один экзекутор. с чего он лучше раздистрибутится-то?
источник

NN

No Name in Moscow Spark
Так константа же (z) будет из себя представлять рандомное значение, не превышающее количество партиций по умолчанию.
источник