Передать параметры в SQL в Databricks (Python) - PullRequest
0 голосов
/ 20 марта 2020

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

d = df_max_dt.select('update_tstmp');
df_tmp = spark.sql("SELECT * FROM invoices WHERE last_upd_tstmp > from_utc_timestamp('{0}', 'MST') ".format(d);

Однако, если я вручную заменю параметр, как показано ниже, он сработает:

df_tmp = spark.sql("SELECT * FROM invoices WHERE last_upd_tstmp > from_utc_timestamp('{0}', 'MST') ".format('2020-02-25T18:54:48.435+0000'))

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 20 марта 2020

Проблема в том, что d - это фрейм данных. Попробуйте это:

d = df_max_dt.select('update_tstmp').collect()[0].update_tstmp;
df_tmp = spark.sql("SELECT * FROM invoices WHERE last_upd_tstmp > from_utc_timestamp('{0}', 'MST') ".format(d);
...