2016-07-19 2 views
0
sql"""copy updateTable 
from $path 
credentials 'aws_access_key_id=<my_access_key_id>;aws_secret_access_key=<my_secret_access_key>' 
json '<path_to_s3_repository>' 
gzip;""".update().apply() 

Над командой дает

org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1" 

при запуске на искру потокового с помощью Scala. Что может быть проблемой? Результирующий запрос выполняется нормально при запуске из командной строки.

+0

В вашей строке access_key_id или secret_access_key содержатся «$ 1»? – NovaDenizen

ответ

1

Вы не можете использовать параметр с COPY.

Вы должны добавить буквальное значение $path в строку инструкции и выполнить это.

+0

О, есть ли обходной путь? – Kakaji

+1

Как я уже сказал, вам нужно создать строку, которая выглядит как 'COPY updatetable FROM '/ path/where/file/is' ...' и отправить ее в базу данных. Я ничего не знаю о scala или искрах, но это ответ со стороны PostgreSQL. –

Смежные вопросы