Spark структурированная потоковая передача: почему код java использует DataSet, а scala использует тип DataFrame? - PullRequest
0 голосов
/ 15 февраля 2020

Привет, я просто читаю официальный документ о потоковой структурированной искре: https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#quick - пример

Его пример кода java использует DataFrame и вводит DataFrame в качестве основы c тип для структурированной потоковой передачи, но в то же время код java одноуровневого типа использует набор данных в качестве типа данных. Мне просто интересно, пока spark / scala работает на jvm, не должны ли scala и java использовать один и тот же тип данных для представления?

Или DataFrame на самом деле Что-то вроде набора данных?

Надеюсь получить объяснения по этому вопросу, спасибо.

1 Ответ

2 голосов
/ 15 февраля 2020

A DataFrame действительно является частным случаем DataSet - DataSet[Row], где Row - это в основном общий тип c, определенный здесь . DataFrame как термин и тип предшествует API DataSet, а его использование в качестве псевдонима для DataSet[Row] более или менее совместимо с Scala Spark. Полное объяснение различий, таких как они, доступно здесь .

...