Сначала у меня были следующие инструкции, и когда я загружал 20 000 файлов, я получал 20 000 записей в БД (каждый файл содержит только 1 запись).
aTracking = sqlContext.read.format('csv').options(header='true', delimiter=';').schema(csvSchema).load("wasbs://" + blobContainer + "@" + blobStorage + ".blob.core.windows.net/rtT*.csv")
aTracking.write \
.option('user', dwUser) \
.option('password', dwPass) \
.jdbc('jdbc:sqlserver://' + dwServer + ':' + dwJdbcPort + ';database=' + dwDatabase, 'stg_tr_energy_xmlin.csv_in', mode = 'append' )
Затем, в целях скорости, я подумал, что было бы лучшепоток с Polybase ... закодирован как ... но там я получил только + - 17.000 записей.
aTracking = spark.readStream.format('csv').options(header='true', delimiter=';').schema(csvSchema).load("wasbs://" + blobContainer + "@" + blobStorage + ".blob.core.windows.net/rtT*.csv")
aTracking.writeStream \
.format("com.databricks.spark.sqldw") \
.option("url", sqlDwUrl) \
.option("tempDir", "wasbs://uploaddw@" + blobStorage + ".blob.core.windows.net/stream") \
.option("forwardSparkAzureStorageCredentials", "true") \
.option("dbTable", "stg_tr_energy_xmlin.csv_in") \
.option("checkpointLocation", "/checkpoint") \
.start()
Есть предложения, что может вызвать это?