嗨,怎么成为淘客,这个场景将有助于如何提取多个平面文件的最大日期和时间在一天
例如:不同国家的文件可在我们的文件路径。我们需要从每个国家提取最新的文件。
步骤1:
每个国家的输入文件如下
步骤2:
创建平面文件格式,以识别给定文件路径中存在的所有文件。此文件格式包括创建平面文件后扩展名为–*.txt
步骤3:
的所有文件。打开平面文件并启用下面的选项"包含文件名"列-是
它给出了以文件格式提供的文件路径中可用的所有文件名。
第4步:
我们的工作流程如下。
第5步:
第一个数据流:DF\u EXTRACT\u DIFF\u FILES
这个数据流是根据不同的文件来加载每个国家的所有最新文件的文件路径中提供的文件名
QRY\u DISTINCT:从源表中检索唯一的DISTINCT记录。在查询转换中启用distinct选项
QRY\u SPLIT\u DI\u FILENAME:拆分包含文件名选项输出的文件名
EX file name:INDIA\u 20191106\u 1401.
FILENAME包含国家名称、日期和时间,大数据是啥,并用"\u"作为分隔符。要找出每个国家的最新文件,我们需要识别文件名中可用的最新时间戳。
为此,我们需要将文件名分成以下三列数据:
名称-使用表达式
word\u ext(QRY)将国家名与文件名进行映射_DISTINCT.DI\文件名,1,'''
日期–从文件名映射日期列使用表达式
word\u ext(QRY_DISTINCT.DI\文件名,2,免费云服务器试用,''时间'
时间–使用表达式
word\u ext(QRY)从文件名映射时间戳_DISTINCT.DI\文件名,3,下面是将文件名分成三列的屏幕截图,如上所述
第6步:
QRY\u MAX:使用group by子句和聚合函数MAX()标识每个国家文件的最大时间戳。
第7步:
QRY\u CONCATE\u file:在获取最大时间戳数据后,我们需要连接所有文件将三列拆分为"FILE\u NAME"列以获取要处理的整个最新文件名,同时我们还创建了另一列SNO映射到gen\u row\u num(),大数据什么意思,用于按顺序加载文件。
第8步:
TGT\u latest\u DI\u FILE:整个流的输出:所有国家的最新文件名,大数据的培训,按顺序数字
第9步:
SCR\u COUNT:脚本包含以下代码以获取最新文件名的总数。它被分配给全局变量:$G_COUNT from target table:TGT_LATEST_DI_FILE,我们还创建了一个全局变量:$G_LOOP分配给值1,用于启动序列
$G_COUNT=sql('Data_store_name','SELECT COUNT(*)from TGT_LATEST_DI_FILE');
print('SOURCE COUNT'|$G| COUNT);
$G_LOOP=1;
第10步:
WHILE\u LOOP
下面的WHILE LOOP用于处理每个国家的最新文件,直到加载每个国家的所有最新文件数据,因此我们使用WHILE条件$G\u LOOP