当前位置: 首页 > 知识库问答 >
问题:

如何数据到数据库中现有的增量表?

闽康安
2023-03-14

我在ADLS gen2中有拼花格式的数据。我想在我的项目中实现dalta层。所以我将ADLS Gen2中的所有本地数据通过ADF保存在一个名为着陆区的单独容器中。

现在我创建了一个名为青铜的分离容器,我想在其中保留增量表。为此,我做了如下。我用数据砖创建了一个数据库。我使用下面的SQL代码在数据块中创建了一个增量表。

create table if not exists externaltables.actv_snap_view(
id String,
mbr_id String,
typ_id String,
strt_dttm String,
otcome_typ_id String,
cdc String
)
using delta
location '/mnt/Storage/Bronze/actv_snap_view'

现在我的表没有任何数据。

  1. 如何将数据湖登陆区中的数据添加到我创建的增量表中。
  2. 将数据添加到将存储下划线数据的表后,我的数据库位于数据库中。

共有1个答案

红甫
2023-03-14

您可以按照以下步骤使用来自landzone(镶木地板文件源)的数据创建表格,其中表格属于青铜容器中存在的数据库。

  • 考虑到您的ADLS容器已挂载,您可以创建一个数据库并按照@Ganesh Chandrasekaran的建议将其位置指定为您的青铜容器挂载点。
create database demo location "/mnt/bronzeoutput/" 
  • 现在使用以下SQL语法创建一个表,该表使用landingzone容器的挂载点中的拼花文件
create table demo.<table_name> (<columns>) using parquet location '/mnt/landingzoneinput/<parquet_file_name>'; 

使用上面的步骤,您已经在< code>bronze容器中创建了一个数据库,您可以在其中存储您的表。要填充在< code>bronze容器的数据库中创建的表,您需要使用< code>landingzone容器中的文件。

更新:

>

  • 使用上面的create table语句创建一个包含来自拼花文件的数据的表,但该表不会反映在数据湖中。

    您可以改用下面给出的查询。它首先在数据库中创建一个表(存在于青铜容器中)。现在,您可以插入登陆区中存在的镶木地板文件中的值。

    create table demo.<table_name> (<columns>);
    -- demo database is inside bronze container
    
    insert into demo.<table_name> select * from <data_source>.`/mnt/landingzoneinput/source_file`
    

  •  类似资料:
    • ###问题 如何向数据加新增数据? ###解决办法 在 0.3 中,数据库连接如下: db = web.database(dbn='postgres', db='mydata', user='dbuser', pw='') 数据库连接写好以后,“insert” 操作如下: # 向 'mytable' 表中插入一条数据 sequence_id = db.insert('mytable', firs

    • 问题内容: 我正在使用Microsoft Sql Server Management Studio。我目前有一个包含数据的现有数据库,我将其称为DatabaseProd。我还有一个第二个数据库,其中包含用于测试的数据,因此数据既不完全正确也不是最新的。我将这个数据库称为DatabaseDev。 但是,DatabaseDev现在包含新添加的表和新添加的列等。 我想将此新模式从DatabaseDev复

    • 如何在模型中添加增量?

    • 我创建了一个向MySql数据库插入数百万个值的程序。我读到过有关批插入的文章,它将优化我的程序并使其更快,但当我尝试这样做时,它以同样的方式工作。我没有将每个值插入数据库,而是每次将500个值保存在一个列表中,然后将它们插入一个大循环中,如下所示: 然后我删除列表中的所有值,并再次开始收集500个值。它不应该工作得更好吗? 我的插入代码是: 我有一些问题: 1。为什么当我批量插入时它不能更快地工作

    • 我有一个 json 文件存储在 Azure Blob 存储中,并且已使用数据工厂将其加载到 Azure SQL 数据库中。现在我想找到一种方法,以便仅将文件的新记录加载到我的数据库(因为文件每周左右更新一次)。有没有办法做到这一点? 谢谢!

    • 问题内容: 我有许多具有不同数量属性的不同对象。到目前为止,我已经将数据保存在XML文件中,该文件很容易允许数量不断变化的属性。但是我正在尝试将其移至数据库。 您首选的存储数据方式是什么? 到目前为止,我已经确定了一些策略: 在对象表中只有一个名为“属性”的字段,并在其中存储序列化或json化的数据。 将数据存储在两个表(对象,属性)中,并使用第三个表保存关系,使其成为真正的n:m关系。非常干净的