gpt4 book ai didi

azure - 是否可以使用 Azure 数据资源管理器修改引入映射中的数据?

转载 作者:行者123 更新时间:2023-12-02 05:55:29 24 4
gpt4 key购买 nike

我正在尝试从 json 文件中提取数据并使用转换后的数据生成新列。

我正在尝试这样做,但找不到解决问题的方法。

.create table example ingestion json mapping "example_mapping" 

'['
'{ "column":"timestamp", "Properties": {"Path":"$.timestamp"}},'
'{ "column":"rawValue", "Properties":{"Path":"$.rawValue"}},'
'{ "column":"Name", "Properties":{"Path":"$.Name"}},'
'{ "column":"Name1", "Properties":{"ConstantValue":"$.split(Name, "_")[1]"}},'
'{ "column":"Name2", "Properties":{"Path":"$[\' split(Name, "_")[1]\']"}},'
'{ "column":"Name3", "Properties":{"Path":"$[\' split(Name, "_")[2]\']"}},'
'{ "column":"Name4", "Properties":{"Path":"$[\' split(Name, "_")[3]\']"}},'
'{ "column":"Name5", "Properties":{"Path":"$[\' split(Name, "_")[4]\']"}},'
'{ "column":"Name6", "Properties":{"Path":"$[\' split(Name, "_")[5]\']"}},'
'{ "column":"Name7", "Properties":{"Path":"$[\' split(Name, "_")[6]\']"}},'
'{ "column":"Name8", "Properties":{"Path":"$[\' split(Name, "_")[7]\']"}},'
'{ "column":"RelevantData", "Properties":{"Path":"$[\'RelevantData\']"}}'
']'

Name1、2、3、4...是新列,我正在尝试执行 splitsplit(Name, "_")[0]以便在摄取映射中进行转换。

有人知道这是否可能吗?欢迎提出建议。谢谢

最佳答案

实现这一目标的一个好习惯是使用临时表和 update policy将数据传播到目标表:

(1) 创建一个原始表,数据最初被引入其中。该表存储的是原始json数据:

.create table raw (d : dynamic)

(2) 为原始表创建摄取映射:

.create table raw ingestion json mapping "ingest-raw"' [{"column":"d","Properties":{"path":"$"}}]'

(3) 使用转换后的数据创建表:

.create table measurement (deviceId:string, enqueuedTime:datetime, temperature:real)

(4)定义从原始数据到测量表的数据转换

.create-or-alter function 
with (docstring = 'update policy for measurement', folder='PBI')
rawtransform() {
raw
| extend m=todynamic(d.measurement)
| mv-expand (m)
| extend deviceId=tostring(m.header.deviceId),
enqueuedTime=todatetime(m.header.enqueuedTime),
temperature=toreal(m.temperature)
| project-away d, m}

(5) 为测量表定义更新策略定义,新摄取的表原始数据将插入到测量表中

.alter table measurement policy update @'[{"IsEnabled": true, "Source": 
"raw", "Query": "rawtransform()", "IsTransactional": false,
"PropagateIngestionProperties": false}]'

对于临时表,您可以定义 shorter caching period ,如果数据查询不那么频繁。

关于azure - 是否可以使用 Azure 数据资源管理器修改引入映射中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72977070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com