我有两个大查询表t1
和t2
,两者都包含_PARTITIONTIME
列。
我的目标是将t2
中的行插入t1
,以便维护_PARTITIONTIME
有INSERT
_PARTITIONTIME
作为选定变量的方法吗?
或者是否有一种方法可以在插入行后回顾性地定义_PARTITIONTIME
列?
答案 0 :(得分:1)
目前,您可以使用#Importing the dataset
df = pd.read_excel('Test.xlsx', sheet_name='Sheet1')
df = pd.concat([df, pd.DataFrame(columns=['Avg Qty'])], axis=1)
df['Avg Qty'] = df.apply(df.groupby([(['Date'] <= (['Date']+pd.Timedelta(-1,
unit='d')) >= (['Date']+pd.Timedelta(-180, unit='d'))), 'A', 'B']))['Qty'].mean()
print(df.head)
partition decorators
但是有一个正在进行的高请求功能,允许您选择一个列并将其用作分区日。
为了写入20个不同的分区,您需要创建至少20个不同的查询和写入here
[TABLE_NAME]$20160501
此处提供了更多解决方案: Migrating from non-partitioned to Partitioned tables
答案 1 :(得分:0)
我不知道什么时候实现,但是可以!
使用DML语句将行添加到摄取时 分区表,可以指定行要分区到的分区 应该添加。您使用_PARTITIONTIME引用分区 伪列。
INSERT INTO PROJECT_ID.DATASET.t2 (_PARTITIONTIME, field1, field2)
SELECT _PARTITIONTIME, field1, field2
FROM PROJECT_ID.DATASET.t1