2017-02-22 33 views
0

Я бы хотел реализовать инкрементные вставки с использованием искры. Подход, который я использую здесь, - это получить максимальное значение для первичного ключа и использовать его как заданное значение. Но проблема в том, как я могу преобразовать dataframe и передать его другому запросу.Инкрементные вставки с использованием значения параметра световой/проходной данных для другого запроса sparksql

id=sqlContext.sql("""select max(requestid) as maxr from st""") 

ПАРОЛЯ ниже запроса

query="""select requestid as maxr from st where requestid='{}'""".format(id) 
dfjoin = sqlContext.sql(query) 
dfjoin.show() 

Я хотел бы видеть значение идентификатора и MaxR быть same.Doing выше, кажется, не работает и не возвращает никакого значения.

Пожалуйста, помогите. Благодаря

+0

'ID = sqlContext.sql ("" "выберите макс (RequestID) в MaxR от ст" ""). Собирать() (0) .getLong (0) '... Это даст значение Id ... в вашем идентификаторе кода будет dataFrame –

+0

id = sqlContext.sql (" "" выберите max (requestid) как maxr из st "" "). collect() [0] [0] работал для меня. тогда как использование getLong (0) давало вызывающую ошибку –

+0

Синтаксис, упомянутый в scala ... –

ответ

0

Спасибо,

ниже работал для меня

id=sqlContext.sql("""select max(requestid) as maxr from st""").collect()[0][0]