A partire dalla release 2.0 DataFrame rappresenta soltanto un alias per Dataset of Row, sia i metodi tipizzati, come per esempio map e filter, che quelli non tipizzati, ad esempio select e groupBy, saranno disponibili tramite la classe Dataset. Nello stesso modo l'interfaccia Dataset sarà un'astrazione per lo Structured Streaming. Novità anche per SparkSession con un nuovo entry point in sostituzione di SQLContext e HiveContext che, comunque, continueranno ad esser accessibili per questioni correlate alla retrocompatibilità.

Gli utilizzatori avranno ora la possibilità di salvare e caricare pipeline per il machine learning e modelli operando con tutti i linguaggio per la programmazione compatibili con la piattaforma, mentre la nuova Accumulator API presenta una gerarchia semplificata e supporta la specializzazione per i tipi primitivi. Per quanto riguarda la precedente interfaccia Accumulator, questa è ora deprecata ma risulterà anch'essa disponibile per garantire retrocompatibilità con i progetti più datati.

Il package spark.ml con la relativa API diventerà l'interfaccia di programmazione primaria per il machine learning, ciò non porterà ad una rimozione del package spark.mllib ma i prossimi interventi a riguardo saranno concentrati sull'API per DataFrame. Ulteriori novità anche per la compilazione con velocità di esecuzione più che decuplicate per un buon numero di feature rispetto alla versione 1.6.

Nota finale per lo Spark Streaming, forse l'aspetto che conferma maggiormente l'evoluzione di Spark dai tempi dell'introduzione di DStream come streaming API; la nuova Structured Streaming API di Spark 2.0 rappresenta ora un'estensione della DataFrame/Dataset API per l'event-time based processing.

Via Databricks

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *