Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 雪花从AWS S3复制到,同时包含函数_Javascript_Stored Procedures_Etl_Snowflake Cloud Data Platform - Fatal编程技术网

Javascript 雪花从AWS S3复制到,同时包含函数

Javascript 雪花从AWS S3复制到,同时包含函数,javascript,stored-procedures,etl,snowflake-cloud-data-platform,Javascript,Stored Procedures,Etl,Snowflake Cloud Data Platform,我正在考虑一些方法来做到这一点,但想一些有效的选择投入。这里的问题是这个。我需要使用复制到为快照设置的数据库中来执行一些ETL操作。它被定义为过去的一天。这里的舞台是一个AWS S3铲斗。为了捕获最新的文件,我需要在from语句或模式中实现一个文件路径 CREATE OR REPLACE TASK ETL_1 WAREHOUSE = W1 SCHEDULE = 'USING CRON 30 */4 * * * America/Los_Angeles' AS copy into DB.SCHEM

我正在考虑一些方法来做到这一点,但想一些有效的选择投入。这里的问题是这个。我需要使用复制到为快照设置的数据库中来执行一些ETL操作。它被定义为过去的一天。这里的舞台是一个AWS S3铲斗。为了捕获最新的文件,我需要在from语句或模式中实现一个文件路径

CREATE OR REPLACE TASK ETL_1
WAREHOUSE = W1
SCHEDULE = 'USING CRON 30 */4 * * *  America/Los_Angeles'
AS
copy into DB.SCHEMA.TABLE1
  from @STAGE/TABLE1
  pattern='.*/.*/.*[.]csv'
  on_error = 'continue'
  file_format = csv_etl;
使用类似的方法,我可以得到所需的文件路径

CREATE OR REPLACE FUNCTION CURRENT_DATE_FILEPATH()
    returns string
    as 
    as REPLACE(CURRENT_DATE(), '-', '/')
    ;
这将返回类似于“2020/04/15”的日期格式,然后我希望以某种方式在阶段格式中使用该格式 类似于@STAGE/TABLE1/2020/04/15/*

有没有办法把它包含在我的报表副本中

我可以在使用Snowflake的Javascript功能的过程中做到这一点,但除非我为每个过程制定任务,否则我将失去监视加载到每个表中的数据的粒度

因为这实际上只需要在我的表中循环一个过程就可以完成。但这些表格每天都相当庞大


这是最好的方式吗

我最终只是把它变成了一个庞大的JavaScript过程。不太理想,但我有足够的错误处理能力,它似乎能按我的预期工作。

我最终只是把它变成了一个庞大的JavaScript过程。虽然不理想,但我有足够的错误处理能力,似乎可以按照我的预期工作。

这不是你想要的答案,但我们通过自己的ELT(我们加载到SF中,然后在SF中加载T)工具,有效地满足了你的要求。因此,它知道加载了哪些数据,加载几天直到今天(UTC),然后加载几小时。。在存储过程和任务之前,我们必须走这条路,但实际上,这些过程和任务在调试/监控/进程统计方面似乎都有差距,而且我们在AWS中运行的编排应用程序的负载并不重,所以除了其他应用程序之外,我们还可以坐下来。。因此,有效的零成本…不是一个坏主意!我确实用Javascript编写了一个大型程序,我会在它呈现出来后发布。这不是你想要的答案,但我们通过我们自己的ELT(我们加载到SF中,然后在SF中加载T)工具有效地完成了你要做的事情。因此,它知道加载了哪些数据,加载几天直到今天(UTC),然后加载几小时。。在存储过程和任务之前,我们必须走这条路,但实际上,这些过程和任务在调试/监控/进程统计方面似乎都有差距,而且我们在AWS中运行的编排应用程序的负载并不重,所以除了其他应用程序之外,我们还可以坐下来。。因此,有效的零成本…不是一个坏主意!我确实用Javascript为此编写了一个大型过程,当它呈现出来时,我会发布它。