Я пытаюсь загрузить данные из РСУБД в таблицу кустов на HDFS.Я читаю таблицу RDBMS следующим образом:
val mydata = spark.read
.format("jdbc")
.option("url", connection)
.option("dbtable", "select * from dev.userlocations")
.option("user", usrname)
.option("password", pwd)
.option("numPartitions",20)
.load()
Я вижу в журналах исполнителя, что option("numPartitions",20)
не задан должным образом, и все данные помещены в одного исполнителя.
Теперь есть опции для предоставления столбца раздела, нижней границы и верхней границы, как показано ниже:
val mydata = spark.read
.format("jdbc")
.option("url", connection)
.option("dbtable", "select * from dev.userlocations")
.option("user", usrname)
.option("password", pwd)
.option("partitionColumn","columnName")
.option("lowerbound","x")
.option("upperbound","y")
.option("numPartitions",20).load()
Приведенный выше вариант работает, только если у меня есть столбец раздела с числовым типом данных.В таблице, которую я читаю, она разбита на столбцы location
.Он имеет размер 5 ГБ и в таблице 20 различных разделов.У меня есть 20 различных мест в таблице.Могу ли я в любом случае прочитать таблицу в разделах на основе столбца раздела таблицы: местоположение?
Может кто-нибудь дать мне знать, можно ли вообще его реализовать?