当前位置: 首页 > 面试题库 >

从cosmos db查询特定的时间范围数据,并通过azure数据工厂将其存储在sql数据库中

井嘉胜
2023-03-14
问题内容

我正在使用Azure Data Factory V2,并希望使用SQL查询将存储为文档的json数据从Azure cosmos db复制到azure
sql表。

情况: 我只想从Cosmos
db查询最后一小时的json文件,并将其存储在sql表中。为此,我在数据工厂中创建了一个新的触发器,该触发器每1小时重复一次sql查询。

问题: 最初,我编写了一个查询,该查询从cosmos db中读取所有数据,并且工作正常,但是我只想查询存储在cosmos db中最后一小时内的数据。

我需要的? 在Sql中,如何编写查询以获取仅在最近一小时内存储在cosmos db中的新文件


问题答案:

您可以在cosmos db集合中定义udf。

function getLastHourTime(){
    var date = new Date();
    var a = date.setHours(-1);
    return a;
}

将您的sql修改为:

SELECT * FROM c where c.time >= udf.getLastHourTime()

注意:udf.getLastHourTime()返回Unix time stamp,您需要匹配格式。

希望对您有帮助。



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

  • 问题内容: 我正在尝试使用SSMS在Azure SQL中创建范围凭证。 我不断遇到错误消息,指出“’cred-name’附近的语法不正确。预期为’=’。” 我不确定我的语法是不正确的,因为我过去已经成功完成了此确切命令,所以我不确定发生了什么变化。我以为可能只是intellisense搞砸了,所以我将SSMS实例从17.3更新到17.7,但是我仍然收到相同的错误消息。 有谁知道可能会发生什么变化?

  • 我正在努力为弹性搜索制定正确的API搜索调用,这将要求在过去1小时内获得我想要的ipv4address。 第一次尝试: {“error”:{“root\u cause”:[{“type”:“parsing\u exception”,“reason”:“未知键,用于[范围]中的START\u对象。”,“line”:10,“col”:12}],“type”:“parsing\u exception”,

  • 我有一个SQLAzure数据库服务器,我需要在数据库之间进行查询,但不知道如何完成。 以下是我的数据库结构: 服务器. X 数据库. A 数据库. B 数据库. C 在数据库中。A我有一个存储过程,需要从数据库中检索数据。B.通常,我会从[Database.B].[dbo]引用数据库,如<code>SELECT*。[MyTable]但SQL Azure中似乎不允许这样做。 < code>Msg 4

  • SqliteOpenHelper只是一个工具,是SQL世界和OOP之间的一个通道。我们要新建几个类来请求已经保存在数据库中的数据,和保存新的数据。被定义的类会使用ForecastDbHelper和DataMapper来转换数据库中的数据到domain models。我仍旧使用默认值的方式来实现简单的依赖注入: class ForecastDb( val forecastDbHelper: