|
114 | 114 | "KustoSink": {} |
115 | 115 | }, |
116 | 116 | "linkedServiceParameters": { |
| 117 | + "KustoSinkReference": { |
| 118 | + "linkedService": { |
| 119 | + "databaseName": "operationaldb" |
| 120 | + } |
| 121 | + }, |
117 | 122 | "KustoSink": { |
118 | 123 | "linkedService": { |
119 | 124 | "databaseName": { |
|
1050 | 1055 | "KustoSink": {} |
1051 | 1056 | }, |
1052 | 1057 | "linkedServiceParameters": { |
| 1058 | + "KustoSinkReference": { |
| 1059 | + "linkedService": { |
| 1060 | + "databaseName": "operationaldb" |
| 1061 | + } |
| 1062 | + }, |
1053 | 1063 | "KustoSink": { |
1054 | 1064 | "linkedService": { |
1055 | 1065 | "databaseName": { |
|
2627 | 2637 | }, |
2628 | 2638 | "sourceFolderPath": { |
2629 | 2639 | "type": "string", |
2630 | | - "defaultValue": "iptv/0156490b-efbe-4a27-af08-a237669f91cc" |
| 2640 | + "defaultValue": "iptv/4614736d-2afa-4739-80a7-d6b449958736" |
2631 | 2641 | }, |
2632 | 2642 | "sourceFileName": { |
2633 | 2643 | "type": "string", |
|
3270 | 3280 | }, |
3271 | 3281 | "sourceFolderPath": { |
3272 | 3282 | "type": "string", |
3273 | | - "defaultValue": "ott/751cb63e-ce65-4f73-9894-6b1bdb8b7e1d" |
| 3283 | + "defaultValue": "ott/a44a15d8-7148-47e5-bf8b-e1d25c5d1935" |
3274 | 3284 | }, |
3275 | 3285 | "sourceFileName": { |
3276 | 3286 | "type": "string", |
|
3825 | 3835 | "typeProperties": { |
3826 | 3836 | "endpoint": "[parameters('AzureDataExplorer_properties_typeProperties_endpoint')]", |
3827 | 3837 | "database": "[parameters('AzureDataExplorer_properties_typeProperties_database')]" |
| 3838 | + }, |
| 3839 | + "connectVia": { |
| 3840 | + "referenceName": "IntegrationRuntime001", |
| 3841 | + "type": "IntegrationRuntimeReference" |
3828 | 3842 | } |
3829 | 3843 | }, |
3830 | | - "dependsOn": [] |
| 3844 | + "dependsOn": [ |
| 3845 | + "[concat(variables('factoryId'), '/integrationRuntimes/IntegrationRuntime001')]" |
| 3846 | + ] |
3831 | 3847 | }, |
3832 | 3848 | { |
3833 | 3849 | "name": "[concat(parameters('factoryName'), '/AzureDataLakeStorage')]", |
|
3839 | 3855 | "type": "AzureBlobFS", |
3840 | 3856 | "typeProperties": { |
3841 | 3857 | "url": "[parameters('AzureDataLakeStorage_properties_typeProperties_url')]" |
| 3858 | + }, |
| 3859 | + "connectVia": { |
| 3860 | + "referenceName": "IntegrationRuntime001", |
| 3861 | + "type": "IntegrationRuntimeReference" |
3842 | 3862 | } |
3843 | 3863 | }, |
3844 | | - "dependsOn": [] |
| 3864 | + "dependsOn": [ |
| 3865 | + "[concat(variables('factoryId'), '/integrationRuntimes/IntegrationRuntime001')]" |
| 3866 | + ] |
3845 | 3867 | }, |
3846 | 3868 | { |
3847 | 3869 | "name": "[concat(parameters('factoryName'), '/AzureKeyVault')]", |
|
4097 | 4119 | " logsFolderPath as string", |
4098 | 4120 | "}", |
4099 | 4121 | "source(output(", |
4100 | | - " AppVersion as string,", |
4101 | 4122 | " Country as string,", |
4102 | | - " HappinessScore as float,", |
4103 | | - " HwModel as string,", |
4104 | 4123 | " Service as string,", |
4105 | 4124 | " ServiceType as string,", |
4106 | | - " StbModel as string,", |
4107 | | - " StreamingProtocol as string,", |
4108 | | - " Title as string,", |
4109 | 4125 | " Topology2 as string,", |
4110 | 4126 | " Topology3 as string,", |
4111 | 4127 | " Topology4 as string,", |
4112 | 4128 | " Topology5 as string,", |
4113 | | - " TvModel as string,", |
4114 | | - " UserId as long,", |
| 4129 | + " Title as string,", |
| 4130 | + " StbModel as string,", |
| 4131 | + " StbManufacturer as string,", |
| 4132 | + " StbSwVersion as string,", |
| 4133 | + " StreamingProtocol as string,", |
| 4134 | + " CdnHostname as string,", |
| 4135 | + " CdnPop as string,", |
| 4136 | + " ChannelName as string,", |
| 4137 | + " HappinessScore as float,", |
| 4138 | + " UserId as string,", |
4115 | 4139 | " EndTime as timestamp,", |
4116 | 4140 | " Hash as string", |
4117 | 4141 | " ),", |
|
4122 | 4146 | " fileSystem: ($sourceFileSystem),", |
4123 | 4147 | " folderPath: ($sourceFolderPath)) ~> AzureDataLakeSource", |
4124 | 4148 | "source(output(", |
4125 | | - " AppVersion as string,", |
4126 | 4149 | " Country as string,", |
4127 | | - " HappinessScore as double,", |
4128 | | - " HwModel as string,", |
4129 | 4150 | " Service as string,", |
4130 | 4151 | " ServiceType as string,", |
4131 | | - " StbModel as string,", |
4132 | | - " StreamingProtocol as string,", |
4133 | | - " Title as string,", |
4134 | 4152 | " Topology2 as string,", |
4135 | 4153 | " Topology3 as string,", |
4136 | 4154 | " Topology4 as string,", |
4137 | 4155 | " Topology5 as string,", |
4138 | | - " TvModel as string,", |
| 4156 | + " Title as string,", |
| 4157 | + " StbModel as string,", |
| 4158 | + " StbManufacturer as string,", |
| 4159 | + " StbSwVersion as string,", |
| 4160 | + " StreamingProtocol as string,", |
| 4161 | + " CdnNodeHostname as string,", |
| 4162 | + " CdnPop as string,", |
| 4163 | + " ChannelName as string,", |
| 4164 | + " HappinessScore as double,", |
4139 | 4165 | " UserId as string,", |
4140 | 4166 | " EndTime as timestamp,", |
4141 | | - " Hash as string", |
| 4167 | + " Hash as string,", |
| 4168 | + " CdnHostname as string", |
4142 | 4169 | " ),", |
4143 | 4170 | " allowSchemaDrift: true,", |
4144 | 4171 | " validateSchema: false,", |
|
4229 | 4256 | " logsFolderPath as string", |
4230 | 4257 | "}", |
4231 | 4258 | "source(output(", |
4232 | | - " app_version as string,", |
4233 | 4259 | " country as string,", |
4234 | | - " end_time as timestamp 'yyyy-MM-dd\\'T\\'HH:mm:ss.SSS\\'Z\\'',", |
4235 | | - " happiness_score as float,", |
4236 | | - " hw_model as string,", |
4237 | 4260 | " service as string,", |
| 4261 | + " topology_5 as string,", |
| 4262 | + " topology_4 as string,", |
| 4263 | + " topology_3 as string,", |
| 4264 | + " topology_2 as string,", |
| 4265 | + " title as string,", |
4238 | 4266 | " service_type as string,", |
4239 | 4267 | " stb_model as string,", |
| 4268 | + " stb_manufacturer as string,", |
| 4269 | + " stb_sw_version as string,", |
4240 | 4270 | " streaming_protocol as string,", |
4241 | | - " title as string,", |
4242 | | - " topology_2 as string,", |
4243 | | - " topology_3 as string,", |
4244 | | - " topology_4 as string,", |
4245 | | - " topology_5 as string,", |
4246 | | - " tv_model as string,", |
4247 | | - " user_id as long", |
| 4271 | + " cdn_hostname as string,", |
| 4272 | + " cdn_pop as string,", |
| 4273 | + " channel_name as string,", |
| 4274 | + " happiness_score as float,", |
| 4275 | + " user_id as string,", |
| 4276 | + " end_time as timestamp 'yyyy-MM-dd\\'T\\'HH:mm:ss\\'Z\\''", |
4248 | 4277 | " ),", |
4249 | 4278 | " useSchema: false,", |
4250 | 4279 | " allowSchemaDrift: true,", |
|
4261 | 4290 | "AzureDataLakeSource aggregate(groupBy(hash = sha2(256,columns())),", |
4262 | 4291 | " each(match(true()), $$ = first($$))) ~> DistinctRows", |
4263 | 4292 | "DistinctRows select(mapColumn(", |
4264 | | - " AppVersion = app_version,", |
4265 | 4293 | " Country = country,", |
4266 | | - " HappinessScore = happiness_score,", |
4267 | | - " HwModel = hw_model,", |
4268 | 4294 | " Service = service,", |
4269 | 4295 | " ServiceType = service_type,", |
4270 | | - " StbModel = stb_model,", |
4271 | | - " StreamingProtocol = streaming_protocol,", |
4272 | | - " Title = title,", |
4273 | 4296 | " Topology2 = topology_2,", |
4274 | 4297 | " Topology3 = topology_3,", |
4275 | 4298 | " Topology4 = topology_4,", |
4276 | 4299 | " Topology5 = topology_5,", |
4277 | | - " TvModel = tv_model,", |
| 4300 | + " Title = title,", |
| 4301 | + " StbModel = stb_model,", |
| 4302 | + " StbManufacturer = stb_manufacturer,", |
| 4303 | + " StbSwVersion = stb_sw_version,", |
| 4304 | + " StreamingProtocol = streaming_protocol,", |
| 4305 | + " CdnHostname = cdn_hostname,", |
| 4306 | + " CdnPop = cdn_pop,", |
| 4307 | + " ChannelName = channel_name,", |
| 4308 | + " HappinessScore = happiness_score,", |
4278 | 4309 | " UserId = user_id,", |
4279 | 4310 | " EndTime = end_time,", |
4280 | 4311 | " Hash = hash", |
|
4373 | 4404 | "}", |
4374 | 4405 | "source(output(", |
4375 | 4406 | " Country as string,", |
4376 | | - " Isp as string,", |
4377 | | - " CdnNodeHost as string,", |
4378 | | - " Type as string,", |
| 4407 | + " Service as string,", |
| 4408 | + " ServiceType as string,", |
| 4409 | + " Device as string,", |
4379 | 4410 | " Title as string,", |
4380 | | - " SelectedQuality as string,", |
4381 | | - " DeviceType as string,", |
4382 | | - " Version as string,", |
4383 | | - " Connection as string,", |
4384 | | - " CommercilizationType as string,", |
4385 | | - " DeviceVendor as string,", |
| 4411 | + " Isp as string,", |
| 4412 | + " CdnHostname as string,", |
| 4413 | + " CdnPop as string,", |
| 4414 | + " AppReleaseVersion as string,", |
| 4415 | + " Browser as string,", |
| 4416 | + " Os as string,", |
| 4417 | + " Player as string,", |
4386 | 4418 | " HappinessScore as float,", |
4387 | | - " UserId as long,", |
| 4419 | + " UserId as string,", |
4388 | 4420 | " EndTime as timestamp,", |
4389 | 4421 | " Hash as string", |
4390 | 4422 | " ),", |
|
4396 | 4428 | " folderPath: ($sourceFolderPath)) ~> AzureDataLakeSource", |
4397 | 4429 | "source(output(", |
4398 | 4430 | " Country as string,", |
4399 | | - " Isp as string,", |
4400 | | - " CdnNodeHost as string,", |
4401 | | - " Type as string,", |
| 4431 | + " Service as string,", |
| 4432 | + " ServiceType as string,", |
| 4433 | + " Device as string,", |
4402 | 4434 | " Title as string,", |
4403 | | - " SelectedQuality as string,", |
4404 | | - " DeviceType as string,", |
4405 | | - " Version as string,", |
4406 | | - " Connection as string,", |
4407 | | - " CommercilizationType as string,", |
4408 | | - " DeviceVendor as string,", |
| 4435 | + " Isp as string,", |
| 4436 | + " CdnNodeHostname as string,", |
| 4437 | + " CdnPop as string,", |
| 4438 | + " AppReleaseVersion as string,", |
| 4439 | + " Browser as string,", |
| 4440 | + " Os as string,", |
| 4441 | + " Player as string,", |
4409 | 4442 | " HappinessScore as double,", |
4410 | 4443 | " UserId as string,", |
4411 | 4444 | " EndTime as timestamp,", |
4412 | | - " Hash as string", |
| 4445 | + " Hash as string,", |
| 4446 | + " CdnHostname as string", |
4413 | 4447 | " ),", |
4414 | 4448 | " allowSchemaDrift: true,", |
4415 | 4449 | " validateSchema: false,", |
|
4485 | 4519 | "name": "FilterEmptyHappinessScore", |
4486 | 4520 | "description": "Filter Empty Happiness Score Rows" |
4487 | 4521 | }, |
4488 | | - { |
4489 | | - "name": "HarmonizeColumn", |
4490 | | - "description": "Harmonize columns: Connection, DeviceVendor" |
4491 | | - }, |
4492 | 4522 | { |
4493 | 4523 | "name": "AlterRow" |
4494 | 4524 | } |
|
4504 | 4534 | " logsFolderPath as string", |
4505 | 4535 | "}", |
4506 | 4536 | "source(output(", |
4507 | | - " Country as string,", |
4508 | | - " ISP as string,", |
4509 | | - " {CDN Node Host} as string,", |
4510 | | - " Type as string,", |
4511 | | - " Title as string,", |
4512 | | - " SELECTED_QUALITY as string,", |
4513 | | - " DEVICE_TYPE as string,", |
4514 | | - " VERSION as string,", |
4515 | | - " CONNECTION as string,", |
4516 | | - " {COMMERCIALIZATION TYPE} as string,", |
4517 | | - " {Device Vendor} as string,", |
4518 | | - " {Happiness Score} as float,", |
4519 | | - " {User ID} as long,", |
4520 | | - " {End Time} as timestamp", |
| 4537 | + " country as string,", |
| 4538 | + " service as string,", |
| 4539 | + " device as string,", |
| 4540 | + " title as string,", |
| 4541 | + " service_type as string,", |
| 4542 | + " isp as string,", |
| 4543 | + " cdn_hostname as string,", |
| 4544 | + " cdn_pop as string,", |
| 4545 | + " app_release_version as string,", |
| 4546 | + " browser as string,", |
| 4547 | + " os as string,", |
| 4548 | + " player as string,", |
| 4549 | + " happiness_score as float,", |
| 4550 | + " user_id as string,", |
| 4551 | + " end_time as timestamp 'yyyy-MM-dd\\'T\\'HH:mm:ss\\'Z\\''", |
4521 | 4552 | " ),", |
4522 | 4553 | " useSchema: false,", |
4523 | 4554 | " allowSchemaDrift: true,", |
|
4534 | 4565 | "AzureDataLakeSource aggregate(groupBy(hash = sha2(256,columns())),", |
4535 | 4566 | " each(match(true()), $$ = first($$))) ~> DistinctRows", |
4536 | 4567 | "DistinctRows select(mapColumn(", |
4537 | | - " Country,", |
4538 | | - " Isp = ISP,", |
4539 | | - " CdnNodeHost = {CDN Node Host},", |
4540 | | - " Type,", |
4541 | | - " Title,", |
4542 | | - " SelectedQuality = SELECTED_QUALITY,", |
4543 | | - " DeviceType = DEVICE_TYPE,", |
4544 | | - " Version = VERSION,", |
4545 | | - " Connection = CONNECTION,", |
4546 | | - " CommercilizationType = {COMMERCIALIZATION TYPE},", |
4547 | | - " DeviceVendor = {Device Vendor},", |
4548 | | - " HappinessScore = {Happiness Score},", |
4549 | | - " UserId = {User ID},", |
4550 | | - " EndTime = {End Time},", |
| 4568 | + " Country = country,", |
| 4569 | + " Service = service,", |
| 4570 | + " ServiceType = service_type,", |
| 4571 | + " Device = device,", |
| 4572 | + " Title = title,", |
| 4573 | + " Isp = isp,", |
| 4574 | + " CdnHostname = cdn_hostname,", |
| 4575 | + " CdnPop = cdn_pop,", |
| 4576 | + " AppReleaseVersion = app_release_version,", |
| 4577 | + " Browser = browser,", |
| 4578 | + " Os = os,", |
| 4579 | + " Player = player,", |
| 4580 | + " HappinessScore = happiness_score,", |
| 4581 | + " UserId = user_id,", |
| 4582 | + " EndTime = end_time,", |
4551 | 4583 | " Hash = hash", |
4552 | 4584 | " ),", |
4553 | 4585 | " skipDuplicateMapInputs: true,", |
4554 | 4586 | " skipDuplicateMapOutputs: true) ~> RenameColumns", |
4555 | 4587 | "RenameColumns filter(!isNull(HappinessScore)) ~> FilterEmptyHappinessScore", |
4556 | | - "FilterEmptyHappinessScore derive(Connection = lower(Connection),", |
4557 | | - " DeviceVendor = lower(DeviceVendor)) ~> HarmonizeColumn", |
4558 | | - "HarmonizeColumn alterRow(upsertIf(true())) ~> AlterRow", |
| 4588 | + "FilterEmptyHappinessScore alterRow(upsertIf(true())) ~> AlterRow", |
4559 | 4589 | "AlterRow sink(allowSchemaDrift: true,", |
4560 | 4590 | " validateSchema: false,", |
4561 | 4591 | " format: 'delta',", |
|
0 commit comments