如何加快通过Spark将Oracle Views加载到HDFS中的速度?

时间:2018-08-21 17:48:24

标签: oracle apache-spark parallel-processing apache-spark-sql

为了加快表的加载速度,我们将rowid对其进行哈希处理并对其进行分区。它的代码如下。但是,视图没有rowid,并且在不弄清楚要分区的列的情况下,我们没有通用的并行摄取解决方案。有没有一种方法可以通用地并行摄取视图,而又不实现视图?

spark.read.format("jdbc")
    .option("url", url)
    .option("user", username)
    .option("password", new String(decrypt(decodeBase64(encryptedPassword), key), "UTF-8"))
    .option("driver", "oracle.jdbc.driver.OracleDriver")
    .option("dbtable", query)
    .option("numPartitions", numPartitions)
    .option("lowerBound", 0)
    .option("upperBound", numPartitions)
    .option("partitionColumn", s"mod(ora_hash(rowid),${numPartitions})+1")
    .option("oracle.net.networkCompression", "on")
    .option("SDU", OracleSDU)
    .option("fetchsize", FetchSize)
    .load()

0 个答案:

没有答案