Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Passaggio 5: scrivere e leggere i dati di Amazon Keyspaces utilizzando il connettore Apache Cassandra Spark
In questo passaggio, iniziate caricando i dati dal file di esempio in unDataFrame
con il connettore Spark Cassandra. Successivamente, scrivi i dati dalDataFrame
nella tua tabella Amazon Keyspaces. Puoi anche utilizzare questa parte in modo indipendente, ad esempio, per migrare i dati in una tabella Amazon Keyspaces. Infine, leggi i dati della tua tabella in unDataFrame
utilizzando il connettore Spark Cassandra. Puoi anche utilizzare questa parte in modo indipendente, ad esempio, per leggere i dati da una tabella Amazon Keyspaces per eseguire analisi dei dati con Apache Spark.
-
Avvia Spark Shell come mostrato nell'esempio seguente. Nota che questo esempio utilizza l'autenticazione SigV4.
./spark-shell --files application.conf --conf spark.cassandra.connection.config.profile.path=application.conf --packages software.aws.mcs:aws-sigv4-auth-cassandra-java-driver-plugin:4.0.5,com.datastax.spark:spark-cassandra-connector_2.12:3.1.0 --conf spark.sql.extensions=com.datastax.spark.connector.CassandraSparkExtensions
-
Importa il connettore Spark Cassandra con il seguente codice.
import org.apache.spark.sql.cassandra._
-
Per leggere i dati dal file CSV e archiviarli in un
DataFrame
, puoi usare il seguente esempio di codice.var df = spark.read.option("header","true").option("inferSchema","true").csv("keyspaces_sample_table.csv")
È possibile visualizzare il risultato con il seguente comando.
scala> df.show();
L'output dovrebbe essere simile a questo.
+----------------+----+-----------+----+------------------+--------------------+-------------+ | award|year| category|rank| author| book_title| publisher| +----------------+----+-----------+----+------------------+--------------------+-------------+ |Kwesi Manu Prize|2020| Fiction| 1| Akua Mansa| Where did you go?|SomePublisher| |Kwesi Manu Prize|2020| Fiction| 2| John Stiles| Yesterday|Example Books| |Kwesi Manu Prize|2020| Fiction| 3| Nikki Wolf|Moving to the Cha...| AnyPublisher| | Wolf|2020|Non-Fiction| 1| Wang Xiulan| History of Ideas|Example Books| | Wolf|2020|Non-Fiction| 2|Ana Carolina Silva| Science Today|SomePublisher| | Wolf|2020|Non-Fiction| 3| Shirley Rodriguez|The Future of Sea...| AnyPublisher| | Richard Roe|2020| Fiction| 1| Alejandro Rosalez| Long Summer|SomePublisher| | Richard Roe|2020| Fiction| 2| Arnav Desai| The Key|Example Books| | Richard Roe|2020| Fiction| 3| Mateo Jackson| Inside the Whale| AnyPublisher| +----------------+----+-----------+----+------------------+--------------------+-------------+
Puoi confermare lo schema dei dati nel
DataFrame
come illustrato nell'esempio seguente.scala> df.printSchema
L'output dovrebbe assomigliare a questo.
root |-- award: string (nullable = true) |-- year: integer (nullable = true) |-- category: string (nullable = true) |-- rank: integer (nullable = true) |-- author: string (nullable = true) |-- book_title: string (nullable = true) |-- publisher: string (nullable = true)
-
Usare il seguente comando per scrivere i dati nel
DataFrame
alla tabella Amazon Keyspaces.df.write.cassandraFormat("book_awards", "catalog").mode("APPEND").save()
-
Per confermare che i dati sono stati salvati, puoi rileggerli in un dataframe, come mostrato nell'esempio seguente.
var newDf = spark.read.cassandraFormat("book_awards", "catalog").load()
Quindi puoi mostrare i dati che ora sono contenuti nel dataframe.
scala> newDf.show()
L'output di quel comando dovrebbe assomigliare a questo.
+--------------------+------------------+----------------+-----------+-------------+----+----+ | book_title| author| award| category| publisher|rank|year| +--------------------+------------------+----------------+-----------+-------------+----+----+ | Long Summer| Alejandro Rosalez| Richard Roe| Fiction|SomePublisher| 1|2020| | History of Ideas| Wang Xiulan| Wolf|Non-Fiction|Example Books| 1|2020| | Where did you go?| Akua Mansa|Kwesi Manu Prize| Fiction|SomePublisher| 1|2020| | Inside the Whale| Mateo Jackson| Richard Roe| Fiction| AnyPublisher| 3|2020| | Yesterday| John Stiles|Kwesi Manu Prize| Fiction|Example Books| 2|2020| |Moving to the Cha...| Nikki Wolf|Kwesi Manu Prize| Fiction| AnyPublisher| 3|2020| |The Future of Sea...| Shirley Rodriguez| Wolf|Non-Fiction| AnyPublisher| 3|2020| | Science Today|Ana Carolina Silva| Wolf|Non-Fiction|SomePublisher| 2|2020| | The Key| Arnav Desai| Richard Roe| Fiction|Example Books| 2|2020| +--------------------+------------------+----------------+-----------+-------------+----+----+