我有多个 Azure 存储 blob 容器,每个容器都有超过 100 万个 JSON 文件,包括根。无法使用(不会令人震惊),因此尝试使用数据工厂使用文件中的时间戳将它们移动到多个文件夹,以创建 YYYY-MM-DD/HH 文件夹设置为分区系统。但是我尝试过的每种方法都因超时/项目限制过多而失败。需要打开每个文件,获取时间戳,并使用时间戳数据将文件移动到动态路径。想法?
更新:我能够解决这个问题,但我不会称之为“答案”,所以我只会更新问题。为了创建较小的集合,我将管道参数化为接受文件名通配符。然后我创建了另一个使用 0-9,az 数组的管道,将其用作数据集上的参数。蛮力解决方法......假设必须有更好的解决方案,但这现在有效。
我定制了一个基本模型,它声明了和CoModel的属性。created_timeupdated_time
但是如何固定声明列的顺序呢?
我希望created_time和updated_time成为创建表时的最后两列。
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy.ext.declarative import declared_attr
session_options = dict(
bind=None,
autoflush=False,
autocommit=False,
expire_on_commit=False,
)
db = SQLAlchemy(session_options=session_options)
class CoModel():
""" sample:
class TableName(db.Model, CoModel):
pass
"""
@declared_attr
def created_time(self):
return db.Column(db.DateTime, default=datetime.utcnow)
@declared_attr
def updated_time(self):
return db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
Run Code Online (Sandbox Code Playgroud)