Apache Spark: org.apache.spark.sql.Dataset.drop (String ... colNames) для Java - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть две таблицы с двумя общими столбцами.Я делаю объединение с использованием этих столбцов.Теперь я хочу удалить общие столбцы из одной таблицы.Я проверил API и обнаружил, что в Spark есть много перегруженных методов.

Один из них: org.apache.spark.sql.Dataset.drop(String... colNames)

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

Я искал и обнаружил, что существует какое-то понятие псевдонимов, но я не уверен, как применить то же самое для этого метода.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2018

Вам необходимо создать Dataframe / Dataset таблицы и затем использовать .drop()

Dataset<Row> sa = spark.read().option("multiLine", true).option("mode", "PERMISSIVE").json("file-path");
sa.drop("col-name");
0 голосов
/ 25 апреля 2018

Я обнаружил, что есть несколько способов:

1) Переименовать столбцы перед объединением.

2) удалить один столбец с типом

ex. `df1.drop(df2.col("ACCT_NBR"));`

с помощьюПриведенное выше выражение возвращает DF в качестве возвращаемого типа и снова может вызывать функцию drop для того же самого числа раз.

Это решает мою проблему.

...