As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Nesta etapa, você começa carregando os dados do arquivo de amostra em um DataFrame
com o Spark Cassandra Connector. Em seguida, você grava os dados do DataFrame
em sua tabela do Amazon Keyspaces. Você também pode usar essa parte de forma independente, por exemplo, para migrar dados para uma tabela do Amazon Keyspaces. Por fim, você lê os dados da tabela em um DataFrame
usando o Spark Cassandra Connector. Você também pode usar essa parte de forma independente, por exemplo, para ler dados de uma tabela do Amazon Keyspaces para realizar análises de dados com o Apache Spark.
-
Inicie o Spark Shell conforme mostrado no exemplo a seguir. Observe que este exemplo usa a autenticação 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
-
Importe o Spark Cassandra Connector com o código a seguir.
import org.apache.spark.sql.cassandra._
-
Para ler dados do arquivo CSV e armazená-los em um
DataFrame
, você pode usar o exemplo de código a seguir.var df = spark.read.option("header","true").option("inferSchema","true").csv("keyspaces_sample_table.csv")
É possível exibir o resultado com o seguinte comando.
scala> df.show();
A saída deve ser semelhante a esta.
+----------------+----+-----------+----+------------------+--------------------+-------------+ | 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| +----------------+----+-----------+----+------------------+--------------------+-------------+
Você pode confirmar o esquema dos dados no
DataFrame
, conforme mostrado no exemplo a seguir.scala> df.printSchema
A saída deve ser algo parecido com isso.
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)
-
Use o comando a seguir para gravar os dados no
DataFrame
para a tabela do Amazon Keyspaces.df.write.cassandraFormat("book_awards", "catalog").mode("APPEND").save()
-
Para confirmar que os dados foram salvos, você pode lê-los novamente em um quadro de dados, conforme mostrado no exemplo a seguir.
var newDf = spark.read.cassandraFormat("book_awards", "catalog").load()
Em seguida, você pode mostrar os dados que agora estão contidos no quadro de dados.
scala> newDf.show()
A saída do comando deve ser algo parecido com isso.
+--------------------+------------------+----------------+-----------+-------------+----+----+ | 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| +--------------------+------------------+----------------+-----------+-------------+----+----+