Я не могу использовать динамическое c значение даты из запроса на выборку из моего кода pyspark.
С помощью запроса ниже я могу выбрать данные между датами создания:
df = spark.read \
.format("com.databricks.spark.sqldatabase") \
.option("url", "jdbc:sqlserver://xxxxxxxx.database.windows.net:1433;database=xxxxxx;\
user=xxxxxxx-;password=xxxxx;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;") \
.option("tempDir", "wasbs://xxxxxx@rxxxxxxx.core.windows.net/temp")\
.option("forwardSparkAzureStorageCredentials", "true") \
.option("query", "select * from dbo.Employee where CreatedDate > '2017-01-01' and CreatedDate <'2018-01-01'") \
.load()
Я хочу указать значение созданной даты в качестве даты начала и окончания, например:
- startdate = '2017-01-01'
- enddate = '2018-01 -01 '
df = spark.read \
.format("com.databricks.spark.sqldatabase") \
.option("url", "jdbc:sqlserver://xxxxxxxx.database.windows.net:1433;database=xxxxxx;\
user=xxxxxxx-;password=xxxxx;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;") \
.option("tempDir", "wasbs://xxxxxx@rxxxxxxx.core.windows.net/temp")\
.option("forwardSparkAzureStorageCredentials", "true") \
.option("query", "select * from dbo.Employee where CreatedDate > '+startdate+' and CreatedDate <**'+endate+'**") \
.load()
При этом я получаю сообщение об ошибке:
[Microsoft] [ODB C Драйвер 17 для SQL Сервер] [ SQL Сервер] Сбой преобразования при преобразовании даты и / или времени из символьной строки.