выбрать новый столбец как пустую строку в искре - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь создать столбец с нулевыми значениями в искре, но НЕ с нулевым типом данных.

Так что

sqlContext.sql("select null as newcol from db.table")

не будет работать, так как установит тип данных newcol какноль.

sqlContext.sql("select cast(null as newcol as string) from db.table")

Не будет работать, потому что он сделает все значения "нулевыми" как строковое представление из 4 символов.

Как я могу это сделать?

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

1 Ответ

0 голосов
/ 25 октября 2018

Я думаю, что вам нужен следующий синтаксис:

select cast(null as string) as newcol from db.table

Выражение cast(null as string) - это просто любое старое выражение, которое может быть намного сложнее.Псевдоним столбца предоставляется с помощью as newcol, который идет после выражения.

Это просто совпадение, что as начинает использоваться дважды (для разных вещей) в определении newcol.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...