,可以通过以下步骤完成:
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._
val spark = SparkSession.builder()
.appName("HDFS to Oracle BLOB")
.config("spark.master", "local")
.getOrCreate()
val csvFile = "hdfs://path/to/csv/file.csv"
val df = spark.read.format("csv")
.option("header", "true")
.option("inferSchema", "true")
.load(csvFile)
val oracleUrl = "jdbc:oracle:thin:@//hostname:port/service"
val tableName = "your_table_name"
val blobColumnName = "your_blob_column_name"
df.write.format("jdbc")
.option("url", oracleUrl)
.option("dbtable", tableName)
.option("user", "your_username")
.option("password", "your_password")
.option("driver", "oracle.jdbc.driver.OracleDriver")
.option("batchsize", "1000")
.option("truncate", "true")
.option("fetchsize", "1000")
.option("createTableColumnTypes", s"$blobColumnName BLOB")
.mode("append")
.save()
在上述代码中,需要将hostname
、port
、service
、your_table_name
、your_blob_column_name
、your_username
和your_password
替换为实际的Oracle数据库连接信息和表信息。
这样,Spark就会将HDFS上的CSV文件数据写入到Oracle数据库的BLOB列中。
推荐的腾讯云相关产品:腾讯云云数据库(TencentDB)和腾讯云弹性MapReduce(EMR)。
领取专属 10元无门槛券
手把手带您无忧上云