【发布时间】:2019-03-31 21:29:40
【问题描述】:
首先我有以下说明,当上传 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()
有什么可能导致这种情况的建议吗?
【问题讨论】:
-
第一步是确定哪些缺失并尝试辨别模式
-
查明发生了什么。显然系统会提醒已经处理了哪些文件。在第一次运行中,我只加载了 3000 个文件;重新启动流式传输、截断表并上传 20.000 个文件。 +-3000 同名...
-
任何人都知道它保存在哪里,流文件的“列表”?以后删除它们会很有用。
标签: spark-streaming databricks azure-sqldw