Чтение Spark JDBC заканчивается только в одном разделе - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть приведенный ниже фрагмент кода для чтения данных из таблицы Postgresql, из которой я извлекаю все доступные данные, т. Е. select * from table_name:

 jdbcDF = spark.read \
    .format("jdbc") \
    .option("url", self.var_dict['jdbc_url']) \
    .option("dbtable", "({0}) as subq".format(query)) \
    .option("user", self.var_dict['db_user']) \
    .option("password", self.var_dict['db_password']) \
    .option("driver", self.var_dict['db_driver']) \
    .option("numPartitions", 10) \
    .option("fetchsize", 10000) \
    .load()

Где var_dict - это словарь, содержащий мои переменные, например, контекст свечи,кредиты базы данных и т. д.

Даже когда я тяну миллионы строк, результат из приведенного ниже кода всегда возвращает 1:

partitions_num = jdbcDF.rdd.getNumPartitions()

Может кто-нибудь посоветовать, если я здесь что-то не так делаю?В идеале я должен был бы использовать максимально доступные ресурсы, а не перетаскивать данные только на мой главный узел.

partitionColumn, lowerBound, upperBound не может использоваться, поскольку столбец моего раздела является меткой времени, а не числовым.

...