- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 azure 比较陌生,我发现自己陷入了困境!我正在尝试使用 Azure DataFactory 将数据从 Blob 存储读取到 SQL 数据库中。我使用复制事件使此过程正常工作,现在我尝试将数据插入到以某种方式相互关联的多个表中(privateKey、foreignKey)。 例如,要更新表 CAR,我需要知道表所有者中是否存在所有者。而且我无法找到有关如何进行的详细解释!有哪位有经验的可以给我一些指导吗?谢谢
最佳答案
我会采取不同的方法来解决这个问题。使用下面的代码,我们可以将多个文件中的数据(所有文件都具有相似的名称)合并到一个数据框中,并将整个文件推送到 SQL Server 中。这是 Scala,因此需要在 Azure Databricks 环境中运行。
# merge files with similar names into a single dataframe
val DF = spark.read.format("csv")
.option("sep","|")
.option("inferSchema","true")
.option("header","false")
.load("mnt/rawdata/corp/ABC*.gz")
DF.count()
# rename headers in dataframe
val newNames = Seq("ID", "FName", "LName", "Address", "ZipCode", "file_name")
val dfRenamed = df.toDF(newNames: _*)
dfRenamed.printSchema
# push the dataframe to sql server
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
// Aquire a DataFrame collection (val collection)
val config = Config(Map(
"url" -> "my_sql_server.database.windows.net",
"databaseName" -> "my_db_name",
"dbTable" -> "dbo.my_table",
"user" -> "xxxxx",
"password" -> "xxxxx",
"connectTimeout" -> "5", //seconds
"queryTimeout" -> "5" //seconds
))
import org.apache.spark.sql.SaveMode
DF.write.mode(SaveMode.Append).sqlDB(config)
上面的代码将读取每个文件的每一行。如果标题位于第一行,则效果很好。如果标题不在第一行,请使用下面的代码创建特定架构,然后再次读取每个文件的每一行。
import org.apache.spark.sql.SQLContext
import org.apache.spark.sql.types.{StructType, StructField, StringType, IntegerType};
import org.apache.spark.sql.functions.input_file_name
val customSchema = StructType(Array(
StructField("field1", StringType, true),
StructField("field2", StringType, true),
StructField("field3", StringType, true),
StructField("field4", StringType, true),
StructField("field5", StringType, true),
StructField("field6", StringType, true),
StructField("field7", StringType, true)))
val df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "false")
.option("sep", "|")
.schema(customSchema)
.load("mnt/rawdata/corp/ABC*.gz")
.withColumn("file_name", input_file_name())
import com.microsoft.azure.sqldb.spark.bulkcopy.BulkCopyMetadata
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
val bulkCopyConfig = Config(Map(
"url" -> "mysqlserver.database.windows.net",
"databaseName" -> "MyDatabase",
"user" -> "username",
"password" -> "*********",
"databaseName" -> "MyDatabase",
"dbTable" -> "dbo.Clients",
"bulkCopyBatchSize" -> "2500",
"bulkCopyTableLock" -> "true",
"bulkCopyTimeout" -> "600"
))
df.write.mode(SaveMode.Append).
//df.bulkCopyToSqlDB(bulkCopyConfig, bulkCopyMetadata)
//df.bulkCopyToSqlDB(bulkCopyConfig) if no metadata is specified.
关于azure - 将数据从 blob 存储复制到 sqlDatabase(到多个表中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58505987/
我复制了很多次sqlDatabase,但我只能用我的用户访问。 如文档中所述,主体成为启动操作的用户。 所以我尝试使用sql语句复制以sql server管理员身份记录的数据库,但没有成功。 我无法使
我是 Azure 新手,目前正在探索将数据库从虚拟专用服务器迁移到 Azure 托管 SQL 数据库的可能性。我可以看到迁移到 azure 、更少维护、云托管、更便宜的潜在优势。 我的 VPS 目前每
我正在尝试将 SQL 数据库中的数据回显到一个看起来还不错的表中。我已经可以将数据正确地回显到 5 个单独的基本表中,但是当我无法弄清楚如何在不完全搞砸的情况下设置它的样式时。这是我已有的代码:
rows.Next 是否会走到列表的末尾而不让你回到开头?我想运行一个查询来检查数据库中是否有特定对象的数据。如果有那个对象,我想更新它。如果不存在,我想插入一个新行。 所以我这样做: row
有一种方法可以调用Backup-SqlDatabase cmdlet,但可以使用SQL Server凭据将其连接到SQL Server 2012吗? 我当前使用的命令是: Backup-SqlData
我正在编写一个 powershell 脚本来运行一些 sql 备份到网络共享。有没有办法绕过密码提示? Backup-SqlDatabase -ServerInstance $SQLServer -D
我有一个完全可用的 powershell 3 脚本,可以备份多个 SQL 数据库。此脚本由主脚本调用,然后主脚本调用许多其他执行各种工作的 powershell 脚本。 对于正在备份的每个数据库,都有
所以我有这个网页: Database Input Database Input Page Here you can input to the Databas
我有一个 PowerShell 脚本,它从生产环境复制备份并将它们还原到本地 sql server 实例,以便对数据库执行一些操作,然后将它们重新备份到本地驱动器。 此命令的一部分使用了 Restor
编辑: 我发现我还需要指定 ServerInstance: Backup-SqlDatabase -ServerInstance [ServerName] -Database [DBName] -Ba
我想在安装过程中使用 WIX 创建数据库。我知道我可以使用像这样的 SqlDatabase 元素来做到这一点: 问题是我想在脚本文件中
我对 azure 比较陌生,我发现自己陷入了困境!我正在尝试使用 Azure DataFactory 将数据从 Blob 存储读取到 SQL 数据库中。我使用复制事件使此过程正常工作,现在我尝试将数据
我尝试使用以下语句使用“Backup-SQLDatabase”cmdlet 备份大型数据库,但 10 分钟后出现超时错误。 {Backup-SqlDatabase -ServerInstance $S
嗨,我正在开发一个应用程序,我刚刚开始使用 SQL,我已经用我的所有信息建立了一个数据库,现在我需要能够获取值,但我还没有能够弄清楚。 我想要的是一个java方法,我可以传递列名和行id并让它返回值。
这是我的代码: public String getFriendName(int aFindexnum){ String sql = "SELECT * FROM
我在一个包含这些代码的类中有两个方法,在方法 GetDefinitionOfWord 中,起初我调用了正确返回数据库名称的 GetDictionaryFilePath,但是在执行 db.setData
我不久前创建了一个带有小部件的仪表板,现在我正在重新考虑如何将每个用户的小部件保存到数据库中。我认为我走在正确的轨道上,但我对 JSON 很陌生,无法完成我需要的事情。我对此进行了研究并尝试了多种方法
我得到了这个 cmdlet 来恢复数据库,如果没有使用现有数据库,它可以正常工作。 Restore-SqlDatabase -ServerInstance $databaseServerInstanc
我尝试使用 Restore-SqlDatabase cmdlet 还原数据库。我需要重新定位文件,但出现以下错误 Restore-SqlDatabase : Cannot bind parameter
我一直在尝试使用 powershell 中的 restore-sqldatabase 模块恢复数据库,除非存在多个数据文件,否则它似乎工作得很好。 为了克服这个问题,我尝试使用参数 AutoReloc
我是一名优秀的程序员,十分优秀!