Я относительно новичок в Spark / Databricks и пытаюсь загрузить базу данных SQL в фрейм данных spark и заставить ее работать параллельно. До сих пор я сделал следующее:
x1_df = spark.read.format("jdbc") \
.option("url", jdbcUrl) \
.option("dbtable", "schema.TableName") \
.option("user", sqluser) \
.option("password", pswd) \
.option("partitionColumn", "Period") \
.option("lowerBound", "2017-03-01") \
.option("upperBound", "2018-03-01") \
.option("numPartitions", 150) \
.load()
Это успешно загружает данные и выводит:
x1_df:pyspark.sql.dataframe.DataFrame = [x1x1: string, x1x2: decimal(38,6) ... 100 more fields]
Но когда я пытаюсь выполнить некоторые операции с этим фреймом данных, я вижу, что он не выполняет несколько заданий
Еще один индикатор для меня - это то, что он работает очень долго, хотя у меня максимум 8 рабочих, каждый Standard_DS15_v2 с 120 ГБ ОЗУ и 20 ядрами.
Как это работает? Я работаю на одном узле / драйвере и не использую своих работников? Любая помощь высоко ценится!
Информация относительно Стадии 3: