Может ли Apache Zeppelin использовать набор данных <Row>, созданный другим приложением? - PullRequest
0 голосов
/ 16 апреля 2020

Я создал приложение, которое очищает и обогащает некоторые данные из файлов, и одновременно они доступны в виде Dataset<Row>.

В моем идеальном мире Apache Zeppelin сможет чтобы взять его, я бы только создал блокнот, а затем легко получил бы визуализацию данных для конечных пользователей.

Я попробовал Apache Zeppelin в качестве демонстрационной версии, но я никогда не был внутри нее. Может ли он сделать то, что я ожидаю?

Или мое приложение обязательно сохранит результаты из Dataset<Row>, которое оно создает, в некоторые файлы паркета, а затем Apache Zeppelin на его стороне, если перезагрузится эти данные из этих паркетных файлов в Spark sessionContext?

Вы понимаете, что я хотел бы избежать такого шага!

Имеет Apache Zeppelin возможность поймать "a набор данных третьей стороны "и использовать его, при условии, что он был создан той же Apache Spark версией, которую он использует?

1 Ответ

2 голосов
/ 16 апреля 2020

Вы можете использовать Apache Ignite .

Apache Ignite обеспечивает реализацию Spark RDD, которая позволяет совместно использовать любые данные и состояние в память как RDD через задания Spark. Ignite RDD обеспечивает общее, изменяемое представление данных, хранящихся в кешах Ignite в разных заданиях, рабочих или прикладных программах Spark.

Ignite поддерживает API-интерфейсы DataFrame, позволяющие Spark выполнять запись и чтение из Ignite через этот интерфейс. Кроме того, Ignite анализирует планы выполнения, созданные движком Spark Catalyst, и может напрямую выполнять части плана на узлах Ignite, что снизит перетасовку данных и, следовательно, улучшит производительность вашего Spark SQL.

Кроме того, здесь - отличное видео, в котором объясняется, как использовать Apache Ignite.

...