Истифодаи коди паст дар платформаҳои таҳлилӣ

Хонандагони азиз, рӯз ба хайр!

Вазифаи сохтани платформаҳои IT барои ҷамъоварӣ ва таҳлили маълумот дер ё зуд барои ҳар як ширкате ба миён меояд, ки тиҷораташ ба модели расонидани хидматрасонии аз ҷиҳати зеҳнӣ пурбор ё эҷоди маҳсулоти аз ҷиҳати техникӣ мураккаб асос ёфтааст. Сохтани платформаҳои таҳлилӣ кори мураккаб ва меҳнатталаб аст. Бо вуҷуди ин, ҳар як вазифа метавонад содда карда шавад. Дар ин мақола ман мехоҳам таҷрибаи худро дар истифодаи абзорҳои коди паст барои кӯмак ба эҷоди қарорҳои таҳлилӣ мубодила кунам. Ин таҷриба ҳангоми татбиқи як қатор лоиҳаҳо дар самти Big Data Solutions ширкати Neoflex ба даст оварда шудааст. Аз соли 2005 инҷониб, самти Big Data Solutions Neoflex бо масъалаҳои бунёди анборҳо ва кӯлҳои додаҳо, ҳалли масъалаҳои оптимизатсияи суръати коркарди иттилоот ва кор дар методологияи идоракунии сифати маълумот машғул аст.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Ҳеҷ кас наметавонад аз ҷамъшавии бошууронаи маълумоти суст ва/ё сахт сохторшуда канорагирӣ кунад. Шояд ҳатто агар мо дар бораи тиҷорати хурд сухан ронем. Дар ниҳоят, ҳангоми васеъ кардани тиҷорат, соҳибкори ояндадор бо масъалаҳои таҳияи барномаи вафодорӣ дучор мешавад, мехоҳад самаранокии нуқтаҳои фурӯшро таҳлил кунад, дар бораи таблиғи мақсаднок фикр кунад ва аз талабот ба маҳсулоти ҳамроҳ ҳайрон мешавад. . Ба тахмини аввал, мушкилотро метавон "дар зону" ҳал кард. Аммо вақте ки тиҷорат афзоиш меёбад, ворид шудан ба платформаи таҳлилӣ ҳанӯз ногузир аст.

Аммо, дар кадом ҳолат вазифаҳои таҳлили додаҳо метавонанд ба мушкилоти синфи "Rocket Science" табдил ёбанд? Шояд дар айни замон, ки мо дар бораи маълумоти воқеан калон гап мезанем.
Барои осон кардани Rocket Science, шумо метавонед филро қисм ба қисм бихӯред.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Барномаҳо/хизматҳо/микросервисҳои шумо ҳар қадар дискретӣ ва мустақил бошанд, ҳазм кардани фил барои шумо, ҳамкорони шумо ва тамоми тиҷорат ҳамон қадар осонтар мешавад.

Қариб ҳамаи муштариёни мо ба ин постулат омаданд, ки манзараро дар асоси таҷрибаҳои муҳандисии дастаҳои DevOps барқарор карданд.

Аммо ҳатто бо парҳези "алоҳида, фил", мо имкони хуби "сер кардани" манзараи IT дорем. Дар ин лахза таваккуф кардан, нафас кашидан ва ба тараф нигох кардан лозим аст платформаи муҳандисии кам код.

Бисёре аз таҳиягарон ҳангоми дур шудан аз навиштани код ба самти "кашидани" тирҳо дар интерфейсҳои интерфейси системаҳои кам код аз дурнамои сарнагун шудани касбашон метарсанд. Аммо ба вучуд омадани дастгоххо боиси аз байн рафтани инженерон нагардид, балки кори онхоро ба зинаи нав расонд!

Биёед бифаҳмем, ки чаро.

Таҳлили маълумот дар соҳаи логистика, саноати телекоммуникатсия, тадқиқоти ВАО, бахши молиявӣ ҳамеша бо саволҳои зерин алоқаманд аст:

  • Суръати таҳлили автоматӣ;
  • Қобилияти гузаронидани таҷрибаҳо бидуни таъсир ба ҷараёни асосии истеҳсоли маълумот;
  • эътимоднокии маълумоти омодашуда;
  • Тағйир додани пайгирӣ ва версия;
  • Исботи маълумот, Насли маълумот, CDC;
  • Интиқоли зуди хусусиятҳои нав ба муҳити истеҳсолӣ;
  • Ва маълум: арзиши рушд ва дастгирӣ.

Яъне, муҳандисон дорои миқдори зиёди вазифаҳои сатҳи баланд ҳастанд, ки онҳоро танҳо тавассути тоза кардани шуури худ аз вазифаҳои сатҳи пасти рушд бо самаранокии кофӣ иҷро кардан мумкин аст.

Шартҳои зарурии гузаштан ба сатҳи нав барои таҳиягарон эволютсия ва рақамикунонии тиҷорат буданд. Арзиши таҳиягар низ тағир меёбад: норасоии назарраси таҳиягароне вуҷуд дорад, ки метавонанд ба консепсияҳои тиҷорати автоматикунонидашуда ғарқ шаванд.

Биёед бо забонҳои барномасозии сатҳи паст ва баланд як қиёс кунем. Гузариш аз забонҳои сатҳи паст ба сатҳи баланд ин гузариш аз навиштани “директиваҳои мустақим дар забони сахтафзор” ба “директиваҳо дар забони мардум” мебошад. Яъне, илова кардани як қабати абстраксия. Дар ин ҳолат, гузариш ба платформаҳои коди паст аз забонҳои барномасозии сатҳи баланд гузариш аз “директиваҳо дар забони мардум” ба “директиваҳо дар забони тиҷорат” мебошад. Агар таҳиягароне бошанд, ки аз ин далел ғамгинанд, пас онҳо шояд аз лаҳзаи тавлиди Java Script, ки функсияҳои ҷудокунии массивҳоро истифода мебарад, ғамгин шудаанд. Ва ин функсияҳо, албатта, татбиқи нармафзорро дар зери пӯшиш бо дигар воситаҳои ҳамон барномасозии сатҳи баланд доранд.

Аз ин рӯ, рамзи паст танҳо намуди зоҳирии сатҳи дигари абстраксия аст.

Таҷрибаи амалӣ бо истифода аз коди паст

Мавзӯи рамзи паст хеле васеъ аст, аммо ҳоло ман мехостам дар бораи татбиқи амалии "мафҳумҳои кам код" бо мисоли яке аз лоиҳаҳои мо сӯҳбат кунам.

Шӯъбаи Big Data Solutions Neoflex бештар дар бахши молиявии тиҷорат, сохтани анборҳои додаҳо ва кӯлҳо ва автоматикунонии ҳисоботдиҳии гуногун тахассус дорад. Дар ин нишеа, истифодаи коди паст кайҳо ба стандарт табдил ёфтааст. Дар байни дигар асбобҳои каммасраф, мо метавонем асбобҳоро барои ташкили равандҳои ETL зикр кунем: Informatica Power Center, IBM Datastage, Pentaho Data Integration. Ё Oracle Apex, ки ҳамчун муҳити рушди босуръати интерфейсҳо барои дастрасӣ ва таҳрири додаҳо амал мекунад. Бо вуҷуди ин, истифодаи абзорҳои таҳияи коди паст на ҳамеша сохтани барномаҳои баландмақсаднокро дар стеки технологияи тиҷоратӣ бо вобастагии возеҳ аз фурӯшанда дар бар мегирад.

Бо истифода аз платформаҳои кам код, шумо инчунин метавонед ташкили ҷараёни маълумотро ташкил кунед, платформаҳои илми маълумот ё масалан, модулҳо барои санҷиши сифати додаҳоро эҷод кунед.

Яке аз намунаҳои татбиқи таҷриба дар истифодаи абзорҳои таҳияи коди кам ин ҳамкории Neoflex ва Mediascope, яке аз пешвоёни бозори таҳқиқоти ВАО-и Русия мебошад. Яке аз ҳадафҳои тиҷоратии ин ширкат истеҳсоли маълумотест, ки дар асоси онҳо таблиғгарон, платформаҳои интернетӣ, каналҳои телевизионӣ, радиостансияҳо, агентиҳои таблиғотӣ ва брендҳо дар бораи хариди таблиғ қарор қабул мекунанд ва коммуникатсияҳои маркетингии худро ба нақша мегиранд.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Тадқиқоти ВАО як соҳаи пурборшудаи технологӣ дар тиҷорат аст. Эътироф кардани пайдарпаии видео, ҷамъоварии маълумот аз дастгоҳҳое, ки тамошоро таҳлил мекунанд, чен кардани фаъолият дар захираҳои веб - ҳамаи ин маънои онро дорад, ки ширкат дорои кормандони бузурги IT ва таҷрибаи азим дар сохтани қарорҳои таҳлилӣ мебошад. Аммо афзоиши экспоненсиалӣ дар ҳаҷми иттилоот, шумора ва гуногунии манбаъҳои он саноати иттилооти IT-ро маҷбур мекунад, ки пайваста пешрафт кунад. Ҳалли соддатарин барои васеъ кардани миқёси платформаи таҳлилии Mediascope, ки аллакай амал мекунад, метавонад афзоиши кормандони IT бошад. Аммо роҳи ҳалли хеле самараноктар суръатбахшии раванди рушд аст. Яке аз қадамҳои пешбаранда дар ин самт метавонад истифодаи платформаҳои коди паст бошад.

Вақте ки лоиҳа оғоз шуд, ширкат аллакай як ҳалли фаъоли маҳсулот дошт. Бо вуҷуди ин, татбиқи ҳалли MSSQL натавонист интизориҳои миқёси функсияро ҳангоми нигоҳ доштани арзиши қобили қабули рушд пурра қонеъ гардонад.

Вазифа дар назди мо воқеан шӯҳратпараст буд - Neoflex ва Mediascope бояд дар тӯли камтар аз як сол як ҳалли саноатӣ эҷод кунанд, ба шарте ки MVP дар семоҳаи аввали санаи оғозёбӣ бароварда шавад.

Стеки технологияи Hadoop ҳамчун асос барои сохтани платформаи нави додаҳо дар асоси ҳисоббарории кам код интихоб карда шуд. HDFS стандарти нигоҳдории маълумот бо истифода аз файлҳои паркетӣ шудааст. Барои дастрас шудан ба маълумоте, ки дар платформа ҷойгир аст, Hive истифода шудааст, ки дар он ҳама дӯконҳои дастрас дар шакли ҷадвалҳои беруна пешниҳод карда мешаванд. Боркунии маълумот ба анбор бо истифода аз Kafka ва Apache NiFi амалӣ карда шуд.

Воситаи Lowe-code дар ин консепсия барои оптимизатсияи вазифаи меҳнатталабтарин дар сохтани платформаи таҳлилӣ - вазифаи ҳисобкунии маълумот истифода шудааст.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Асбоби коди пасти Datagram ҳамчун механизми асосии харитасозии додаҳо интихоб карда шуд. Neoflex Datagram воситаи таҳияи трансформатсияҳо ва ҷараёни маълумот мебошад.
Бо истифода аз ин асбоб, шумо метавонед бидуни навиштани рамзи Scala дастӣ кор кунед. Рамзи Scala ба таври худкор бо истифода аз равиши меъмории Model Driven тавлид мешавад.

Бартарии равшани ин равиш тезонидани раванди рушд аст. Аммо, ба ғайр аз суръат, афзалиятҳои зерин низ мавҷуданд:

  • Намоиши мундариҷа ва сохтори манбаъҳо/қабулкунандагон;
  • Пайгирии пайдоиши объектҳои ҷараёни маълумот ба соҳаҳои алоҳида (насаб);
  • Иҷрои қисман тағиротҳо бо дидани натиҷаҳои мобайнӣ;
  • Баррасии коди ибтидоӣ ва ислоҳи он пеш аз иҷроиш;
  • Санҷиши автоматии тағирот;
  • Зеркашии худкори маълумот 1 дар 1.

Монеа барои ворид шудан ба қарорҳои коди паст барои тавлиди тағирот хеле паст аст: таҳиякунанда бояд SQL-ро донад ва таҷрибаи кор бо абзорҳои ETL дошта бошад. Бояд қайд кард, ки генераторҳои трансформатсияи ба код асосёфта ба маънои васеи калима асбобҳои ETL нестанд. Воситаҳои коди паст метавонанд муҳити иҷрои коди худро надошта бошанд. Яъне, рамзи тавлидшуда дар муҳити дар кластер мавҷудбуда ҳатто пеш аз насб кардани ҳалли коди паст иҷро карда мешавад. Ва ин шояд боз як плюс барои карма-коди паст бошад. Азбаски, дар баробари як дастаи коди паст, як дастаи "классикӣ" метавонад кор кунад, ки функсияро, масалан, дар коди холиси Scala амалӣ мекунад. Баровардани такмили ҳарду даста ба истеҳсолот оддӣ ва бефосила хоҳад буд.

Бояд қайд кард, ки ба ғайр аз коди паст, инчунин ҳалли бе код вуҷуд дорад. Ва дар асл, ин чизҳои гуногунанд. Рамзи паст ба таҳиякунанда имкон медиҳад, ки ба коди тавлидшуда бештар дахолат кунад. Дар мавриди Datagram, дидан ва таҳрир кардани коди тавлидшудаи Scala имконпазир аст; коди бе код метавонад чунин имкониятро таъмин накунад. Ин тафовут на танҳо аз ҷиҳати чандирии ҳалли масъала, балки аз ҷиҳати тасаллӣ ва ҳавасмандӣ дар кори муҳандисони маълумот хеле муҳим аст.

Архитектураи ҳалли

Биёед кӯшиш кунем, ки маҳз бифаҳмем, ки чӣ гуна асбоби коди паст ба ҳалли мушкилоти оптимизатсияи суръати таҳияи функсияҳои ҳисобкунии маълумот кӯмак мекунад. Аввалан, биёед ба меъмории функсионалии система назар кунем. Намунае дар ин ҳолат модели истеҳсоли маълумот барои тадқиқоти ВАО мебошад.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Сарчашмаҳои маълумот дар ҳолати мо хеле гуногун ва гуногунанд:

  • Ҳисобкунакҳои одамон (метрҳои телевизионӣ) дастгоҳҳои нармафзор ва сахтафзор мебошанд, ки рафтори корбаронро аз посухдиҳандагони панели телевизионӣ мехонанд - дар хонаводае, ки дар тадқиқот иштирок мекунад, кӣ, кай ва кадом шабакаи телевизиониро тамошо кардаанд. Маълумоти пешниҳодшуда ҷараёни фосилаҳои тамошои пахши пахши бастаи медиавӣ ва маҳсулоти медиавӣ мебошад. Маълумот дар марҳилаи боркунӣ ба кӯли додаҳо метавонанд бо атрибутҳои демографӣ, геостратификация, минтақаи вақт ва дигар иттилооте, ки барои таҳлили тамошои телевизиони маҳсулоти мушаххаси ВАО заруранд, ғанӣ гардонида шаванд. Андозаҳои гирифташуда метавонанд барои таҳлил ё банақшагирии маъракаҳои таблиғотӣ, арзёбии фаъолият ва афзалиятҳои аудитория ва таҳияи шабакаи пахш истифода шаванд;
  • Маълумот метавонад аз системаҳои мониторинги пахши пахши телевизионӣ ва ченкунии тамошои мундариҷаи захираҳои видеоӣ дар Интернет гирифта шавад;
  • Воситаҳои андозагирӣ дар муҳити веб, аз ҷумла ҳам ҳисобкунакҳои ба сайт нигаронидашуда ва ҳам ба корбар нигаронидашуда. Провайдери маълумот барои Lake Data метавонад як иловаи браузери бари тадқиқотӣ ва барномаи мобилӣ бо VPN-и дарунсохт бошад.
  • Маълумот инчунин метавонад аз сайтҳое гирифта шавад, ки натиҷаҳои пур кардани саволномаҳои онлайн ва натиҷаҳои мусоҳибаҳои телефониро дар пурсишҳои ширкат муттаҳид мекунанд;
  • Ғансозии иловагии кӯли додаҳо метавонад тавассути зеркашии маълумот аз гузоришҳои ширкатҳои шарик ба амал ояд.

Татбиқи ҳамчун боркунӣ аз системаҳои манбаъ ба марҳилаи ибтидоии додаҳои хомро бо роҳҳои гуногун ташкил кардан мумкин аст. Агар барои ин мақсадҳо рамзи паст истифода шавад, тавлиди автоматии скриптҳои боркунӣ дар асоси метамаълумот имконпазир аст. Дар ин ҳолат, лозим нест, ки ба сатҳи манбаи таҳияшуда ба харитасозии ҳадафҳо поин равед. Барои амалӣ кардани боркунии автоматӣ, мо бояд пайвастшавӣ ба манбаъ барқарор кунем ва сипас дар интерфейси боркунӣ рӯйхати объектҳои боркуниро муайян кунем. Сохтори директория дар HDFS ба таври худкор сохта мешавад ва ба сохтори нигоҳдории маълумот дар системаи манбаъ мувофиқат мекунад.

Аммо, дар доираи ин лоиҳа, мо тасмим гирифтем, ки ин хусусияти платформаи кам кодро истифода набарем, зеро ширкати Mediascope аллакай мустақилона кор оид ба истеҳсоли хидмати шабеҳро бо истифода аз комбинатсияи Nifi + Kafka оғоз кардааст.

Дарҳол қайд кардан лозим аст, ки ин асбобҳо ивазшаванда нестанд, балки пурратаранд. Нифи ва Кафка қодиранд ҳам дар робитаи мустақим (Нифи -> Кафка) ва ҳам ба таври баръакс (Кафка -> Нифи) кор кунанд. Барои платформаи тадқиқоти ВАО, версияи якуми баста истифода шуд.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Дар ҳолати мо, NayFi бояд намудҳои гуногуни маълумотро аз системаҳои манбаъ коркард кунад ва онҳоро ба брокери Кафка фиристад. Дар ин ҳолат, паёмҳо ба мавзӯи мушаххаси Кафка бо истифода аз коркардкунандагони PublishKafka Nifi фиристода шуданд. Оркестр ва нигоҳдории ин қубурҳо дар интерфейси визуалӣ анҷом дода мешавад. Асбоби Nifi ва истифодаи комбинатсияи Nifi + Kafka-ро метавон равиши кам коди рушд номид, ки монеаи пасти ворид шудан ба технологияҳои Big Data дорад ва раванди таҳияи барномаҳоро суръат мебахшад.

Марҳилаи навбатии татбиқи лоиҳа ин ба формати ягонаи қабати семантикӣ овардани маълумоти муфассал буд. Агар объект дорои хусусиятҳои таърихӣ бошад, ҳисоб дар заминаи тақсимоти мавриди назар анҷом дода мешавад. Агар объект таърихӣ набошад, он гоҳ ихтиёран мумкин аст ё аз нав ҳисоб кардани тамоми мундариҷаи объект ё аз нав ҳисоб кардани ин объект (аз сабаби набудани тағирот) комилан рад карда шавад. Дар ин марҳила калидҳо барои ҳама объектҳо тавлид мешаванд. Калидҳо дар феҳристҳои Hbase, ки ба объектҳои асосӣ мувофиқанд, нигоҳ дошта мешаванд, ки мукотибаи байни калидҳои платформаи таҳлилӣ ва калидҳои системаҳои манбаъро дар бар мегиранд. Муттаҳидшавии объектҳои атомӣ бо ғанӣ гардонидани натиҷаҳои ҳисобҳои пешакии маълумоти таҳлилӣ ҳамроҳ мешавад. Чаҳорчӯбаи ҳисобкунии маълумот Spark буд. Функсияҳои тавсифшуда барои овардани маълумот ба семантикаи ягона инчунин дар асоси харитасозӣ аз асбоби коди пасти Datagram амалӣ карда шуд.

Меъмории мақсаднок дастрасии SQL-ро ба маълумот барои корбарони тиҷорат талаб мекард. Барои ин хосият Hive истифода шудааст. Вақте ки шумо имкони "Registr Hive Table" -ро дар асбоби рамзи паст фаъол мекунед, объектҳо дар Hive ба таври худкор сабт карда мешаванд.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Назорати ҷараёни ҳисобкунӣ

Datagram дорои интерфейси эҷоди тарҳҳои ҷараёни корӣ мебошад. Харитаҳоро бо истифода аз ҷадвали Oozie оғоз кардан мумкин аст. Дар интерфейси таҳиягари ҷараён имкон дорад, ки схемаҳо барои табдилдиҳии маълумотҳои мувозӣ, пайдарпай ё иҷро вобастаро эҷод кунед. Дастгирии скриптҳои shell ва барномаҳои java вуҷуд дорад. Инчунин истифода бурдани сервери Apache Livy имконпазир аст. Apache Livy барои иҷро кардани барномаҳо мустақиман аз муҳити таҳия истифода мешавад.

Агар ширкат аллакай оркестри раванди худро дошта бошад, имкон дорад REST API-ро барои ворид кардани харитасозӣ ба ҷараёни мавҷуда истифода бурд. Масалан, мо таҷрибаи хеле бомуваффақияти ворид кардани харитасозӣ дар Scala ба оркестрҳои дар PLSQL ва Kotlin навишташуда доштем. API-и REST-и абзори коди паст амалиётҳоеро дар бар мегирад, ба монанди тавлиди соли иҷрошаванда дар асоси тарҳи харитасозӣ, даъват кардани харитасозӣ, даъвати пайдарпайии харитасозӣ ва албатта, интиқоли параметрҳо ба URL барои иҷро кардани харитасозӣ.

Дар баробари Oozie, бо истифода аз Airflow ҷараёни ҳисобкуниро ташкил кардан мумкин аст. Шояд ман дар муқоисаи байни Oozie ва Airflow дер нахоҳам монд, аммо танҳо мегӯям, ки дар заминаи кор дар лоиҳаи тадқиқоти ВАО, интихоб ба фоидаи Airflow афтод. Далелҳои асосӣ ин дафъа ҷомеаи фаъолтаре буданд, ки маҳсулотро таҳия мекунанд ва интерфейси бештар таҳияшуда + API.

Ҷараёни ҳаво низ хуб аст, зеро он Python-и маҳбубро барои тавсифи равандҳои ҳисоб истифода мебарад. Ва дар маҷмӯъ, платформаҳои идоракунии ҷараёни кории кушодаасос он қадар зиёд нестанд. Оғоз ва мониторинги иҷрои равандҳо (аз ҷумла диаграммаи Гант) танҳо ба кармаи Airflow нуқтаҳоро илова мекунад.

Формати файли конфигуратсия барои роҳандозии харитаҳои ҳалли пасти код табдил ёфтааст spark-submit. Ин бо ду сабаб рӯй дод. Аввалан, spark-submit ба шумо имкон медиҳад, ки файли jar-ро аз консол мустақиман иҷро кунед. Дуюм, он метавонад тамоми маълумоти заруриро барои танзими ҷараёни кор дошта бошад (ки навиштани скриптҳоеро, ки Dag тавлид мекунанд, осонтар мекунад).
Унсури маъмултарини ҷараёни кории Airflow дар ҳолати мо SparkSubmitOperator буд.

SparkSubmitOperator ба шумо имкон медиҳад, ки зарфҳоро иҷро кунед - харитасозии бастабандишудаи Datagram бо параметрҳои вуруди қаблан тавлидшуда барои онҳо.

Қобили зикр аст, ки ҳар як вазифаи Airflow дар як риштаи алоҳида кор мекунад ва дар бораи дигар вазифаҳо чизе намедонад. Аз ин рӯ, ҳамкории байни вазифаҳо бо истифода аз операторҳои идоракунӣ, ба монанди DummyOperator ё BranchPythonOperator амалӣ карда мешавад.

Якҷоя, истифодаи ҳалли пасти коди Datagram дар якҷоягӣ бо универсализатсияи файлҳои конфигуратсия (ташаккули Dag) ба суръатбахшии назаррас ва содда кардани раванди таҳияи ҷараёнҳои боркунии маълумот оварда расонд.

Намоиши ҳисобҳо

Шояд марҳилаи пурбортарини зеҳнӣ дар истеҳсоли маълумоти таҳлилӣ қадами сохтани витринаҳо бошад. Дар заминаи яке аз ҷараёнҳои ҳисобкунии маълумоти ширкати тадқиқотӣ, дар ин марҳила, маълумот ба пахши истинод бо дарназардошти ислоҳот барои минтақаҳои вақт ва ба шабакаи пахш пайваст карда мешавад. Инчунин барои шабакаи пахши маҳаллӣ (ахборҳои маҳаллӣ ва таблиғ) мувофиқ кардан мумкин аст. Дар байни чизҳои дигар, ин қадам фосилаҳои тамошои пайвастаи маҳсулоти ВАО дар асоси таҳлили фосилаҳои тамошоро вайрон мекунад. Дарҳол, арзишҳои тамошо дар асоси маълумот дар бораи аҳамияти онҳо (ҳисоб кардани омили ислоҳӣ) "вазн карда мешаванд".

Истифодаи коди паст дар платформаҳои таҳлилӣ

Қадами алоҳида дар омода кардани намоишҳо тасдиқи маълумот мебошад. Алгоритми тасдиқкунӣ истифодаи як қатор моделҳои илми риёзиро дар бар мегирад. Бо вуҷуди ин, истифодаи платформаи коди паст ба шумо имкон медиҳад, ки алгоритми мураккабро ба як қатор харитаҳои алоҳидаи аз ҷиҳати визуалӣ хондашаванда ҷудо кунед. Ҳар як харитасозӣ вазифаи тангро иҷро мекунад. Дар натиҷа, ислоҳи фосилавӣ, сабткунӣ ва визуализатсияи марҳилаҳои омодасозии маълумот имконпазир аст.

Қарор дода шуд, ки алгоритми тасдиқкунӣ ба зерзинаҳои зерин дискретизатсия карда шавад:

  • Эҷоди регрессияҳои вобастагии тамошои шабакаҳои телевизионӣ дар минтақа бо тамошои тамоми шабакаҳои минтақа дар тӯли 60 рӯз.
  • Ҳисоб кардани пасмондаҳои донишҷӯӣ (фарҳшавии арзишҳои воқеӣ аз арзишҳои пешбининамудаи модели регрессия) барои ҳама нуқтаҳои регрессия ва барои рӯзи ҳисобшуда.
  • Интихоби ҷуфтҳои аномалии минтақа-шабака, ки дар он тавозуни донишҷӯии рӯзи ҳисоббаробаркунӣ аз меъёр зиёд аст (бо танзимоти амалиёт муайян карда мешавад).
  • Аз нав ҳисоб кардани боқимондаи ислоҳшудаи донишҷӯӣ барои ҷуфтҳои ғайримуқаррарӣ-шабакаи телевизионӣ барои ҳар як посухдиҳандае, ки шабакаро дар минтақа тамошо кардааст, муайян кардани саҳми ин респондент (ҳаҷми тағирот дар боқимондаи донишҷӯӣ) ҳангоми хориҷ кардани дидани ин респондент аз интихоб .
  • Номзадҳоеро ҷустуҷӯ кунед, ки истиснои онҳо тавозуни донишҷӯии рӯзи музди меҳнатро ба муқаррарӣ бармегардонад.

Мисоли боло фарзияро тасдиқ мекунад, ки муҳандиси додаҳо аллакай дар зеҳнаш аз ҳад зиёд фикр мекунад... Ва агар ин воқеан “муҳандис” бошад, на “кодер”, пас тарси таназзули касбӣ ҳангоми истифодаи абзорҳои кам код нихоят акибнишинй кардан лозим аст.

Рамзи паст боз чӣ кор карда метавонад?

Миқёси татбиқи асбоби коди паст барои коркарди маълумотҳои гурӯҳӣ ва ҷараёнӣ бидуни зарурати навиштани дастӣ дар Scala бо ин тамом намешавад.

Истифодаи коди паст дар таҳияи datalake аллакай барои мо стандарт шудааст. Эҳтимол мо гуфта метавонем, ки қарорҳо дар асоси стеки Hadoop роҳи рушди DWH-ҳои классикиро дар асоси RDBMS пайгирӣ мекунанд. Асбобҳои коди паст дар стеки Hadoop метавонанд ҳам вазифаҳои коркарди маълумот ва ҳам вазифаи сохтани интерфейсҳои ниҳоии BI-ро ҳал кунанд. Ғайр аз он, бояд қайд кард, ки BI метавонад на танҳо муаррифии маълумот, балки таҳриркунии онро аз ҷониби корбарони тиҷоратӣ дошта бошад. Мо аксар вақт ин функсияро ҳангоми сохтани платформаҳои таҳлилӣ барои бахши молиявӣ истифода мебарем.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Дар байни чизҳои дигар, бо истифода аз коди паст ва махсусан, Datagram, метавон мушкилоти пайгирии пайдоиши объектҳои ҷараёни додаҳоро бо атомӣ то майдонҳои алоҳида (насл) ҳал кард. Барои ин, асбоби рамзи паст интерфейсро бо Apache Atlas ва Cloudera Navigator амалӣ мекунад. Аслан, таҳиякунанда бояд маҷмӯи объектҳоро дар луғатҳои Атлас ба қайд гирад ва ҳангоми сохтани харитасозӣ ба объектҳои ба қайд гирифташуда истинод кунад. Механизми пайгирии пайдоиши маълумот ё таҳлили вобастагии объектҳо вақти зиёдро сарфа мекунад, вақте ки барои такмил додани алгоритмҳои ҳисоб зарур аст. Масалан, ҳангоми таҳияи ҳисоботи молиявӣ, ин хусусият ба шумо имкон медиҳад, ки дар давраи тағиротҳои қонунгузорӣ бароҳаттар наҷот ёбед. Охир, мо вобастагии байнишаклиро дар контексти объектхои кабати муфассал хар кадар хубтар дарк кунем, хамон кадар кам ба нуксонхои «ногахонй» дучор меоем ва микдори такрориро кам мекунем.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Сифати маълумот ва рамзи паст

Вазифаи дигаре, ки аз ҷониби асбоби коди паст дар лоиҳаи Mediascope амалӣ карда мешавад, вазифаи синфи сифати маълумот буд. Хусусияти махсуси татбиқи лӯлаи санҷиши маълумот барои лоиҳаи ширкати тадқиқотӣ набудани таъсир ба кор ва суръати ҷараёни ҳисобкунии асосии маълумот буд. Барои ташкили ҷараёни мустақили тасдиқи додаҳо, Apache Airflow, ки аллакай шинос буд, истифода шуд. Вақте ки ҳар як қадами истеҳсоли маълумот омода буд, дар баробари як қисми алоҳидаи лӯлаи DQ ба кор андохта шуд.

Мониторинги сифати маълумот аз лаҳзаи пайдоиши он дар платформаи таҳлилӣ таҷрибаи хуб ҳисобида мешавад. Доштани маълумот дар бораи метамаълумотҳо, мо метавонем мувофиқати шартҳои асосиро аз лаҳзаи ворид шудани маълумот ба қабати ибтидоӣ тафтиш кунем - на нул, маҳдудиятҳо, калидҳои хориҷӣ. Ин функсия дар асоси харитасозии ба таври худкор тавлидшудаи оилаи сифати маълумот дар Datagram амалӣ карда мешавад. Дар ин ҳолат тавлиди код низ ба метамаълумоти модел асос ёфтааст. Дар лоиҳаи Mediascope интерфейс бо метамаълумоти маҳсулоти Enterprise Architect анҷом дода шуд.

Бо пайваст кардани асбоби рамзи паст бо Enterprise Architect, чекҳои зерин ба таври худкор тавлид карда шуданд:

  • Санҷиши мавҷудияти арзишҳои "null" дар майдонҳо бо тағирдиҳандаи "не нул";
  • Санҷиши мавҷудияти дубликатҳои калиди ибтидоӣ;
  • Санҷиши калиди хориҷии субъект;
  • Санҷиши беназирии сатр дар асоси маҷмӯи майдонҳо.

Барои санҷиши мураккабтари мавҷудият ва эътимоднокии додаҳо, харитасозӣ бо Scala Expression сохта шуд, ки ҳамчун ворид рамзи чеки Spark SQL-и берунии аз ҷониби таҳлилгарони Zeppelin омодашударо мегирад.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Албатта, тавлиди автоматии чекҳо бояд тадриҷан ба даст оварда шавад. Дар доираи лоиҳаи тавсифшуда, пеш аз он қадамҳои зерин гузошта шуданд:

  • DQ дар ноутбукҳои Zeppelin амалӣ карда мешавад;
  • DQ дар харитасозӣ сохта шудааст;
  • DQ дар шакли харитаҳои алоҳидаи азим, ки дорои маҷмӯи пурраи чекҳо барои субъекти алоҳида мебошанд;
  • Харитасозии универсалии параметри DQ, ки маълумотро дар бораи метамаълумот ва санҷишҳои тиҷоратӣ ҳамчун вуруд қабул мекунанд.

Шояд бартарии асосии эҷоди хидмати чеки параметрӣ ин кам кардани вақти интиқоли функсия ба муҳити истеҳсолӣ бошад. Санҷишҳои нави сифат метавонанд намунаи классикии интиқоли кодро бавосита тавассути муҳити таҳия ва озмоиш гузаранд:

  • Ҳама санҷишҳои метамаълумотҳо ҳангоми тағир додани модел дар EA ба таври худкор тавлид мешаванд;
  • Санҷишҳои мавҷудияти маълумот (муайян кардани мавҷудияти ҳама гуна маълумот дар як лаҳза) мумкин аст дар асоси директория тавлид карда шавад, ки вақти пешбинишудаи пайдоиши порчаи навбатии маълумотро дар контексти объектҳо нигоҳ медорад;
  • Санҷишҳои тасдиқи маълумоти тиҷоратӣ аз ҷониби таҳлилгарон дар ноутбукҳои Zeppelin сохта мешаванд. Аз он ҷо онҳо мустақиман ба ҷадвалҳои танзимоти модули DQ дар муҳити истеҳсолӣ фиристода мешаванд.

Ҳеҷ гуна хатари интиқоли мустақими скриптҳо ба истеҳсолот вуҷуд надорад. Ҳатто бо хатогии синтаксис, ҳадди аксаре, ки ба мо таҳдид мекунад, иҷро накардани як санҷиш аст, зеро ҷараёни ҳисобкунии маълумот ва ҷараёни оғози санҷиши сифат аз ҳамдигар ҷудо мешаванд.

Аслан, хидмати DQ дар муҳити истеҳсолӣ ба таври доимӣ кор мекунад ва омода аст, ки ҳангоми пайдо шудани пораи навбатии маълумот ба кори худ оғоз кунад.

Ба ҷои хулоса

Бартарии истифодаи коди паст маълум аст. Ба таҳиягарон лозим нест, ки барномаро аз сифр таҳия кунанд. Ва барномасозе, ки аз вазифаҳои иловагӣ озод шудааст, зудтар натиҷа медиҳад. Суръат, дар навбати худ, вақти иловагиро барои ҳалли масъалаҳои оптимизатсия озод мекунад. Аз ин рӯ, дар ин ҳолат, шумо метавонед ба ҳалли беҳтар ва зудтар такя кунед.

Албатта, коди паст як панацея нест ва ҷодугарӣ худ аз худ рӯй нахоҳад дод:

  • Саноати кам-код мархалаи «мустадкам шудан»-ро аз cap мегузаронад ва то хол стандартхои ягонаи саноатй вучуд надоранд;
  • Бисёре аз қарорҳои коди паст ройгон нестанд ва хариди онҳо бояд як қадами бошуурона бошад, ки бояд бо боварӣ ба манфиатҳои молиявии истифодаи онҳо анҷом дода шавад;
  • Бисёр ҳалли коди паст на ҳамеша бо GIT/SVN хуб кор мекунанд. Ё онҳо барои истифода нороҳат ҳастанд, агар рамзи тавлидшуда пинҳон бошад;
  • Ҳангоми васеъ кардани меъморӣ, шояд ҳалли кам кодро такмил додан лозим бошад, ки ин дар навбати худ таъсири "замима ва вобастагӣ" -ро ба таъминкунандаи ҳалли коди кам ба вуҷуд меорад.
  • Сатҳи мувофиқи амният имконпазир аст, аммо он хеле меҳнатталаб аст ва татбиқи он дар муҳаррикҳои системаи коди паст душвор аст. Платформаҳои кам код бояд на танҳо аз рӯи принсипи ҷустуҷӯи фоида аз истифодаи онҳо интихоб карда шаванд. Ҳангоми интихоб, ба саволҳо дар бораи мавҷудияти функсияҳо барои назорати дастрасӣ ва интиқол/пешрафти маълумоти мушаххас ба сатҳи тамоми манзараи IT-и созмон савол додан лозим аст.

Истифодаи коди паст дар платформаҳои таҳлилӣ

Бо вуҷуди ин, агар ҳамаи камбудиҳои системаи интихобшуда ба шумо маълум бошанд ва фоидаҳо аз истифодаи он, бо вуҷуди ин, аксарияти бартаридошта бошанд, пас бидуни тарс ба рамзи хурд гузаред. Гузашта аз ин, гузариш ба он ногузир аст - ҳамон тавре ки ҳама гуна таҳаввулот ногузир аст.

Агар як таҳиягар дар платформаи коди паст кори худро нисбат ба ду таҳиягари бе коди паст тезтар анҷом диҳад, пас ин ба ширкат дар ҳама ҷиҳат оғози пешравӣ медиҳад. Ҳадди ворид шудан ба қарорҳои кам код назар ба технологияҳои «анъанавӣ» пасттар аст ва ин ба масъалаи нарасидани кадрҳо таъсири мусбат мерасонад. Ҳангоми истифодаи абзорҳои коди кам, метавон ҳамкориро байни гурӯҳҳои функсионалӣ суръат бахшад ва дар бораи дурустии роҳи интихобшудаи таҳқиқоти илми маълумот зудтар қарор қабул кард. Платформаҳои сатҳи паст метавонанд тағироти рақамии созмонро пеш баранд, зеро қарорҳои истеҳсолшуда аз ҷониби мутахассисони ғайритехникӣ (хусусан корбарони тиҷоратӣ) фаҳмида метавонанд.

Агар шумо мӯҳлатҳои қатъӣ дошта бошед, мантиқи тиҷорӣ, набудани таҷрибаи технологӣ ва ба шумо лозим аст, ки вақти худро ба бозор суръат диҳед, пас рамзи паст як роҳи қонеъ кардани ниёзҳои шумост.

Ахамияти воситахои анъанавии тараккиётро инкор кардан мумкин нест, вале дар бисьёр мавридхо истифода бурдани карорхои кам-код воситаи бехтарини баланд бардоштани самаранокии вазифахои халшаванда мебошад.

Манбаъ: will.com

Илова Эзоҳ