Как изменить типы столбцов в DataFrame Spark SQL (в Java)? - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь преобразовать тип данных столбца из long в int в spark sql, используя java, я видел некоторые примеры в scala и пробовал, но это не wotking

df.withColumn("is_open",  toInt("is_open"));  

, где я могунужно изменить.заранее спасибо

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019
df = df.withColumn("is_open", df.col("is_open").cast("int"));

Обратите внимание, что приведение применяется после вычисления данных на предыдущем шаге. Если на предыдущем шаге выбрано select или что-то подобное, он сначала будет вычислен в исходный тип, а затем перейдет к новому типу на следующем шаге. Это не решит проблему с выбором исходного типа.

0 голосов
/ 22 января 2019

Вы можете использовать функцию cast .

scala> val df = spark.range(10)
df: org.apache.spark.sql.Dataset[Long] = [id: bigint]

scala> import org.apache.spark.sql.functions._
import org.apache.spark.sql.functions._

scala> df.withColumn("new_col", col("id").cast("string"))
res4: org.apache.spark.sql.DataFrame = [id: bigint, new_col: string]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...