Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #EXTM3U
- ---------
- -- hbo --
- ---------
- -- :name streaming-query-hbo-new :? :*
- /* :meta {:schedule "0 /30 * * * * *"
- :alter-session {"store.json.all_text_mode" false}
- :format tsv
- :output s3
- :headers false
- :preamble "#Generic Data Source (Full Processing) template file (user: hbogobroadbandlatamprod ds_id: 2);\r\n
- visitorID\tcharSet\ttimestamp\ts_account\ttimezone\tevents\tpageName\tprop9\tprop10\tprop17\tprop18\tprop20\tprop21\tprop22\tprop23\tprop25\tprop26\tprop29\tprop33\tprop36\tprop37\tprop39\tprop41\tprop47\tprop48\tprop61\tprop66\tprop69\teVar2\teVar9\teVar10\teVar12\teVar17\teVar18\teVar20\teVar21\teVar22\teVar23\teVar25\teVar26\teVar29\teVar33\teVar36\teVar37\teVar39\teVar41\teVar47\teVar48\teVar61\teVar66\teVar69\tlinkName\tlinkType"
- :bucket-name "tvmetrix-televisa"
- :file "reports/hbo/%YEAR-MONTH%/PRODizziHBOData%CDAY%.txt"}
- */
- select visitor_id,
- charset,
- regexp_replace(cast(val_timestamp as varchar), ' ', 'T') || timezone || ':00' as val_timestamp,
- s_account,
- timezone,
- events,
- pagename as page_name_1,
- user_id as user_id_1,
- requirements as requirements_1,
- video_content_channel as video_content_channel_1,
- video_language as video_language_1,
- video_type as video_type_1,
- video_playback_mode as video_playback_mode_1,
- video_content_type as video_content_type_1,
- video_player_name as video_player_name_1,
- video_rating as video_rating_1,
- asset_id as asset_id_1,
- logged_in as logged_in_1,
- affiliate_id as affiliate_id_1,
- platform as platform_1,
- channel_id as channel_id_1,
- device as device_1,
- play_next as play_next_1,
- device_detail as device_detail_1,
- app_version as app_version_1,
- video_duration as video_duration_1,
- video_title as video_title_1,
- country as country_1,
- pagename as page_name_2,
- user_id as user_id_2,
- requirements as requirements_2,
- message_id,
- video_content_channel as video_content_channel_2,
- video_language as video_language_2,
- video_type as video_type_2,
- video_playback_mode as video_playback_mode_2,
- video_content_type as video_content_type_2,
- video_player_name as video_player_name_2,
- video_rating as video_rating_2,
- asset_id as asset_id_2,
- logged_in as logged_in_2,
- affiliate_id as affiliate_id_2,
- platform as platform_2,
- channel_id as channel_id_2,
- device as device_2,
- play_next as play_next_2,
- device_detail as device_detail_2,
- app_version as app_version_2,
- video_duration as video_duration_2,
- video_title as video_title_2,
- country as country_2,
- link_name,
- link_type
- from
- (select data.events as events,
- 'Logged-In' as logged_in,
- data.active_user_count as active_user_count,
- 'izzi' as affiliate_id,
- data.app_version as app_version,
- substring(data.provider_asset_id,2,9) as asset_id,
- 'HBO' as channel_id,
- 'UTF8' as charset,
- 'Mexico' as country,
- '' as requirements,
- case
- when data.device_class = 'STB' then data.device_class
- else data.device_platform
- end as device,
- data.device_model || '_VOD' as device_detail,
- data.title as video_title,
- data.link_name as link_name,
- 'o' as link_type,
- data.message_id as message_id,
- ltrim(data.page_name,substring(data.page_name,1,strpos(substring(data.page_name,1,1),'|'))) as pagename,
- data.page_name as page_name,
- data.device_class as platform,
- '' as play_next,
- data.s_account as s_account,
- 'FALSE' as sign_in,
- data.`timestamp` as val_timestamp,
- cast(data.offsetutc as varchar(4)) as timezone,
- data.customer_id as user_id,
- 'HBO' as video_content_channel,
- 'VOD' as video_content_type,
- cast(data.length as varchar(50)) as video_duration,
- case
- when (data.audio_language is not null
- and data.audio_language <> '') then upper(data.audio_language)
- else 'N/A'
- end as video_language,
- data.rating as video_rating,
- 'fullscreen-VOD' as video_playback_mode,
- 'IRISSTB' as video_player_name,
- 'Full-length' as video_type,
- 'IZZI:' || data.customer_id as visitor_id
- from
- (select usage.play_session,
- usage.events,
- usage.active_user_count,
- vc.provider_asset_id,
- usage.app_version,
- usage.device_platform,
- usage.device_model,
- usage.device_class,
- vc.title,
- usage.s_account,
- ltrim(usage.customer_id,substring(usage.customer_id,1,strpos(usage.customer_id,':'))) as customer_id,
- vc.rating,
- case
- when (usage.page_name is not null
- and usage.page_name <> '') then usage.page_name
- else vc.title
- end as page_name,
- usage.region,
- usage.offsetutc,
- usage.from_prev,
- usage.playback,
- usage.length,
- usage.error_reason,
- usage.audio_language,
- usage.link_name,
- usage.message_id,
- usage.context,
- usage.`timestamp`
- from
- (with usagedata as
- (select vu.play_session,
- vu.product_id,
- vu.app_version,
- vu.device_platform,
- vu.device_model,
- vu.device_class,
- vu.customer_id,
- vu.page_name,
- vu.region,
- tz.offsetutc,
- convert_timezone('UTC',tz.timezone_name, vu.`timestamp`) as `timestamp`,
- vu.from_prev,
- ((sum(extract(hour
- from vu.play_time)) * 3600) + (sum(extract(minute
- from vu.play_time)) * 60) + (sum(extract(second
- from vu.play_time)))) as playback,
- vu.length,
- vu.error_reason,
- vu.audio_language,
- vu.context,
- case
- when (vu.usage is null
- or vu.usage <> 'Test') then :sql:hbo-provider || 'broadbandlatamprod'
- else :sql:hbo-provider || 'broadbandlatamdev'
- end as s_account,
- vu.usage,
- (0.10 * vu.length) as percent10,
- (0.25 * vu.length) as percent25,
- (0.50 * vu.length) as percent50,
- (0.75 * vu.length) as percent75,
- (0.95 * vu.length) as percent95
- from tvmetrix.metrix.vodusage vu
- join tvmetrix.metrix.timezones tz
- on vu.region = tz.keyname
- where partition_date >= :sql:day-before
- and partition_date <= :sql:day
- and (((vu.play_session_id <> ''
- and vu.play_session_id is not null)
- and vu.trickplay = 'PLAY'
- and (vu.event = 'stop'
- or vu.event = 'alive'))
- or ((vu.play_session = 'START')
- or (vu.play_session = 'STOP')
- or (vu.error_reason <> ''
- and vu.error_reason is not null)))
- and (vu.usage is null
- or vu.usage <> 'Test')
- and (vu.customer_id is not null
- and vu.customer_id <> '')
- group by vu.product_id,
- vu.play_session,
- vu.app_version,
- vu.device_platform,
- vu.device_model,
- vu.device_class,
- vu.customer_id,
- vu.page_name,
- vu.region,
- tz.offsetutc,
- tz.timezone_name,
- vu.`timestamp`,
- vu.length,
- vu.error_reason,
- vu.audio_language,
- vu.context,
- vu.usage,
- vu.from_prev
- ) select usagedata.play_session,
- (case
- when (usagedata.play_session = 'START') then 'event5,event31'
- else (case
- when ((usagedata.play_session = 'STOP')
- and ((usagedata.length-1) between (usagedata.playback - usagedata.from_prev) and usagedata.playback)) then 'event11'
- else 'event32=' || cast(usagedata.playback as varchar(50))
- end)
- end) as events,
- (case
- when (usagedata.play_session = 'START') then 'TRUE'
- else 'FALSE'
- end) as active_user_count,
- usagedata.product_id,
- usagedata.app_version,
- usagedata.device_platform,
- usagedata.device_model,
- usagedata.device_class,
- usagedata.s_account,
- usagedata.customer_id,
- usagedata.page_name,
- usagedata.region,
- usagedata.offsetutc,
- usagedata.`timestamp`,
- usagedata.from_prev,
- usagedata.playback,
- usagedata.length,
- usagedata.error_reason,
- usagedata.audio_language,
- case
- when (usagedata.play_session = 'START') then 'AMACTION:Video Start'
- else (case
- when ((usagedata.play_session = 'STOP')
- and ((usagedata.length-1) between (usagedata.playback - usagedata.from_prev) and usagedata.playback)) then 'AMACTION:Video Complete'
- else 'AMACTION:Video Time Spent'
- end)
- end as link_name,
- '' as message_id,
- usagedata.context
- from usagedata
- where usagedata.play_session = 'START'
- or (usagedata.play_session = 'STOP'
- and (usagedata.error_reason = ''
- or usagedata.error_reason is null))
- ) as usage
- join tvmetrix.metrix.vodcontents vc
- on usage.product_id = vc.product_id
- where vc.provider_id = :sql:hbo-provider
- ) as data
- where date_trunc('day', `timestamp` - offsetutc * INTERVAL '1' hour) = :sql:day-before)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement