Data Engineer
როგორ შეიძლება წაიშალოს მონაცემები ClickHouse-დან?
შედარეთ ETL და ELT მიდგომები: რა განსხვავებაა და როდის გამოიყენება თითოეული?
რა არის მკვდარი ხაზები მონაცემთა ბაზაში?
რა იყო თქვენი არქიტექტურა პროექტზე? DWH თუ სხვა რამე?
რომელ SQL შეკითხვებს წერ: მარტივი შემოწმებები თუ რთული სკრიპტები ვიტრინებისთვის?
რატომ არის საჭირო ინდექსები, რა სარგებელი და ნაკლია მათ?
სპეციალური თანმიმდევრობა შექმნილია სახელწოდებით even_sequence, რომელიც მხოლოდ ჯამებს ქმნის. რა უნდა ჩასვათ [...]-ის ადგილზე, რათა თუ even_column-ის მნიშვნელობა არ არის მითითებული შეტანაზე, მნიშვნელობა მიიღოს even_sequence-დან? create table some_table( even_column [...] ); integer computed as nextval('even_sequence') integer generated always as identity (start with 2 increment by 2) integer default nextval('even_sequence') integer unique default nextval('even_sequence') integer generated by even_sequence’
ერთი S3 ბაკეტი გამოიყენეთ თუ რამდენიმე? რა პრინციპით?
შეიძლება გქონდეთ გამოცდილება Spark-ის დავალებების ოპტიმიზაციაში? შეგიძლიათ მიაწოდოთ კონკრეტული მაგალითი?
საწყობი აშენდა Data Vault სქემის მიხედვით — შენც განავითარე, შეინარჩუნე? ხელით დაამატე ჰაბები, ლინკები?
როგორ გავაკეთოთ ზევით გაგრძელება (NULL-ებს ავსება წინამორბედი ნულოვანი მნიშვნელობით საპირისპირო მიმართულებით)?
ჩაწერილობების ჰეშების შედარების მეთოდი გამოიყენებოდა წყაროს და სამიზნე სარეგისტრაციოს შორის განსხვავების გამოთვლისთვის?
მომხმარებელთა აქტივობის ანალიზი რეკლამების კამპანიებში კომპანია აკონტროლებს მოვლენებს, რომლებიც დაკავშირებულია რეკლამების კამპანიებთან. შესასვლელი ცხრილები: • campaigns — რეკლამების კამპანიების სია, მათ იდენტიფიკატორებთან და სახელწოდებებთან; • events — მომხმარებლების მოვლენები კამპანიების მიხედვით, მათ შორის მოვლენების ტიპი (მაგალითად, 'click' (კლიკი რეკლამაზე)) და დრო. საჭიროა თითოეული რეკლამების კამპანიისთვის ანგარიშის შექმნა შემდეგი მაჩვენებლებით: • საერთო მოვლენების რაოდენობა. • უნიკალური მომხმარებლების რაოდენობა, რომლებმაც განახორციელეს მოვლენები. • კამპანიის პირველი და ბოლო მოვლენების დრო. • კამპანიის რეიტინგი საერთო მოვლენების რაოდენობის მიხედვით კლებადობით. რეიტინგი — რიცხვი, რომელიც მიენიჭება თითოეულ ხაზს შედეგების ნაკრებში მონაცემების მითითებულ წესზე დაყრდნობით. თუ ორი ან მეტი ხაზი აქვს ერთნაირი მნიშვნელობა, მათ მიენიჭებათ ერთნაირი რეიტინგი, მაგრამ შემდეგი რეიტინგი გამოტოვებულია. შესაბამისი კამპანიები, რომელთაც ჰქონდათ მოვლენები, ანგარიშში შედიან: მოვლენების გარეშე კამპანიები არ განიხილება. საბოლოო ანგარიში უნდა იყოს პირველ რიგში რეიტინგით ზრდადობით, შემდეგ კი campaign_name-ის მიხედვით ალფავიტურად. შესასვლელი ფორმატი • campaign_name (string) — რეკლამების კამპანიის სახელი • start_date (timestamp) — კამპანიის დაწყების დრო • end_date (timestamp) — კამპანიის დასრულების დრო მონაცემთა ცხრილი: • event_id (int) — უნიკალური იდენტიფიკატორი • user_id (int) — უნიკალური მომხმარებლის იდენტიფიკატორი, რომელმაც განახორციელა მოვლენა • campaign_id (int) — კამპანიის უნიკალური იდენტიფიკატორი • event_type (string) — მოვლენის ტიპი, მაგალითად 'click' (კლიკი) ან 'conversion' (გადამოწმება — წარმატებული მოქმედება, მაგალითად, შეძენა) • event_time (timestamp) — მოვლენის შესრულების დრო მონაცემები არ შეიცავს გამოტოვებებს ან არასწორ მნიშვნელობებს. გამოსავლის ფორმატი საკითხი უნდა დააბრუნოს ცხრილი შემდეგ ველებით: • campaign_name (string) — რეკლამების სახელი • total_events (int) — საერთო მოვლენების რაოდენობა • unique_users (int) — უნიკალური მომხმარებლების რაოდენობა, რომლებმაც განახორციელეს მოვლენები • first_event_time (timestamp) — პირველი მოვლენის დრო • last_event_time (timestamp) — ბოლო მოვლენის დრო • campaign_rank (int) — კამპანიის რეიტინგი საერთო მოვლენების რაოდენობის მიხედვით კლებადობით მონაცემები უნდა იყოს რეიტინგით ზრდადობით, შემდეგ კი campaign_name-ის მიხედვით ალფავიტურად.
როგორ არ მოკლათ Jupyter ან Pandas მეხსიერების გამო?
სტატისტიკა რა არის მონაცემთა ბაზების მართვის სისტემებში და სარეკლამო ოპტიმიზაციაში?
როგორ უნდა მოვიქცეთ, როდესაც user_id-ზე skew (შეცდომა) არსებობს ტრანზაქციებისა და მომხმარებლების ტაბლოების JOIN-ის დროს? როგორ ავირჩიოთ ოპტიმალური განაწილების გასაღები?
მოკლედ ახსენით, როგორ არის მოწყობილი Spark-ის არქიტექტურა: რა კომპონენტები არსებობს და როგორ ურთიერთქმედებენ SQL-საკითხის შესრულების დროს.
როგორ გავიგოთ Oracle-ში მოთხოვნის რეალური შესრულების გეგმა?
რა სახის ფიზიკური კავშირი არსებობს ცხრილებს შორის (Hash Join, Merge Join, Nested Loop)?
ჩვენ გვჭირდება პაიპლაინი — მექანიზმი, რომელიც საშუალებას მოგცემთ ძალიან სწრაფად შექმნათ ნაკადები კონტრაქტებისა და პარამეტრების მიწოდებით. როგორ განახორციელებდი ამას მაღალ დონეზე?