在我有时间获取流程设置的提取策略&之前,我开始收集最终将通过流分析作业的数据。现在我坐在一个Azure blob存储容器中,其中有超过500,000个blob(没有文件夹组织),另一个容器有300,000个,另外一个容器的容量为10,000 - 90,000。准备归档数据以进行流分析导入
生产收集过程现在将这些斑点写入YYYY-MM-DD/HH
格式的不同容器,但这只是前进的很棒。我拥有的这些归档数据对于进入我的系统至关重要,我只想修改现有生产ASA作业的输入内容,这样我就可以在查询,函数和其他依赖关系中利用相同的逻辑。
我知道ASA不喜欢超过几百/千的批次,所以我想找出一种方法来分级我的数据,以便在ASA下很好地工作。这将是一次运行...
一个想法是编写一个脚本,看看每个blob,看blob内的时间戳,并重新创建YYYY-MM-DD/HH
文件夹设置,但根据我的经验,ASA当blob的lastModified时间不匹配它所在的文件夹时,作业将失败...
任何建议如何解决这个问题?
编辑:没有提到(1)有在这些容器没有文件夹...所有斑点住在容器和(2)我LastModifiedTime
上的斑点不再有用或有意义的根源。后者的原因是这些blob从多个其他容器收集,并使用Azure CLI copy-batch
命令合并在一起。
我不清楚* partitionedJob *或* refillJob * ..那些是什么?目前没有任何文件夹在容器中,只有500,000个斑点。另外...这些数据是从多个来源收集的,因此它们在彼此的2小时窗口内都具有相同的LastModifiedTime。这是因为blob是从多个源复制的......所以LastModifiedTime现在是没有意义的。我一直在探索使用分区,一次移动批次的500个Blob =>一个文件夹,然后创建查询,以便将这些文件夹视为分区。 –
这些500000个blob中的事件的应用程序时间是多少?这段时间和LastModifiedTime之间的最大差异是多少? –
对于LastModifiedTime,只有大约6-8小时(就像我上面所说的那样,我们有两个或三个Azure CLI'copy-batch'命令同时从不同的容器中汇集到一起......我们在考虑ASA之前做了这些,现在才意识到它的含义)。在每个blob中,有一个时间范围超过6个月的时间...我宁愿使用它,但这不是一个选项。 –