SparkSQLで指定されたMySQLテーブルからデータを削除する方法は何ですか?
Spark SQLでMySQLテーブルから特定のデータを削除する方法はいくつかあります。たとえば、`table_name`という名前のMySQLテーブルから`column_name`列が`value`と等しい行を削除するには、DELETE文を実行する`spark.sql()`関数を使用できます。
spark.sql("DELETE FROM table_name WHERE column_name = value")
2. 削除するデータをDataFrameに読み込み、その後DataFrameの`write`メソッドを使用してそれをMySQLテーブルに書き込みます。たとえば、以下のコードは、名前が`table_name`でMySQLテーブル内の`column_name`列で`value`と等しい行を削除します。
val df = spark.read.format("jdbc")
.option(“url”, “jdbc:mysql://your_mysql_host:your_mysql_port/your_database”)
.option(“driver”, “com.mysql.jdbc.Driver”)
.option(“dbtable”, “table_name”)
.option(“user”, “your_username”)
.option(“password”, “your_password”)
.load()
val updatedDF = df.filter($”column_name” =!= value)
updatedDF.write.format(“jdbc”)
.option(“url”, “jdbc:mysql://your_mysql_host:your_mysql_port/your_database”)
.option(“driver”, “com.mysql.jdbc.Driver”)
.option(“dbtable”, “table_name”)
.option(“user”, “your_username”)
.option(“password”, “your_password”)
.mode(“overwrite”)
.save()
上記のコードにおいて、`your_mysql_host`、`your_mysql_port`、`your_database`、`your_username`および`your_password`の部分を、ご自身のMySQL接続情報と資格情報に置き換えてください。どの方法を使用しても、Spark環境に適切なMySQLドライバが設定されていることを確認してください。ドライバをSparkの`jars`ディレクトリに追加するか、Sparkアプリケーションを提出する際に`–driver-class-path`パラメータでドライバのパスを指定することができます。