Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

Aloha e ka poʻe heluhelu, lā maikaʻi!

ʻO ka hana o ke kūkulu ʻana i nā kahua IT no ka hōʻiliʻili ʻana a me ka nānā ʻana i ka ʻikepili e kū koke a ma hope paha no kēlā me kēia ʻoihana e hoʻokumu ʻia ana kāna ʻoihana ma ke kumu hoʻohālike hoʻolako lawelawe i ka naʻauao a i ʻole ka hana ʻana i nā huahana paʻakikī. He hana paʻakikī a hoʻopau manawa ke kūkulu ʻana i nā paepae analytical. Eia naʻe, hiki ke maʻalahi kekahi hana. Ma kēia ʻatikala makemake wau e kaʻana like i koʻu ʻike i ka hoʻohana ʻana i nā mea hana haʻahaʻa-code e kōkua ai i ka hana ʻana i nā hopena analytical. Ua loaʻa kēia ʻike i ka wā o ka hoʻokō ʻana i kekahi mau papahana ma ka kuhikuhi Big Data Solutions o ka hui Neoflex. Mai ka makahiki 2005, ke alakaʻi nei ka Big Data Solutions o Neoflex i nā pilikia o ke kūkulu ʻana i nā hale waihona ʻikepili a me nā loko, e hoʻonā i nā pilikia o ka hoʻonui ʻana i ka wikiwiki o ka hoʻoili ʻana i ka ʻike a me ka hana ʻana i kahi ʻano no ka hoʻokele waiwai ʻikepili.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

ʻAʻole hiki i kekahi ke pale aku i ka hōʻiliʻili ʻana o ka ʻikepili nāwaliwali a/a i ʻole i hoʻonohonoho ikaika ʻia. Malia paha inā mākou e kamaʻilio e pili ana i nā ʻoihana liʻiliʻi. Ma hope o nā mea a pau, i ka wā e hoʻonui ai i kahi ʻoihana, e kū ana kahi ʻoihana hoʻohiki i nā pilikia o ka hoʻomohala ʻana i kahi papahana kūpaʻa, makemake ʻo ia e nānā i ka maikaʻi o nā wahi kūʻai aku, e noʻonoʻo e pili ana i ka hoʻolaha ʻana, a e hopohopo ʻia e ka noi no nā huahana e hui pū ana. . I kahi hoʻohālikelike mua, hiki ke hoʻoponopono ʻia ka pilikia "ma ke kuli". Akā i ka ulu ʻana o ka ʻoihana, hiki ʻole ke hele mai i kahi kahua analytical.

Eia nō naʻe, i ka hihia hea e hiki ai i nā hana ʻikepili ʻikepili ke ulu i nā pilikia papa "Rocket Science"? Malia paha i kēia manawa ke kamaʻilio nei mākou e pili ana i ka ʻikepili nui maoli.
I mea e maʻalahi ai ka ʻepekema ʻo Rocket, hiki iā ʻoe ke ʻai i ka ʻāpana elepani i kēlā me kēia ʻāpana.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

ʻOi aku ka ʻokoʻa a me ke kūʻokoʻa o kāu mau noi/lawelawe/lawelawe, ʻoi aku ka maʻalahi iā ʻoe, kāu mau hoa hana a me ka ʻoihana holoʻokoʻa e ʻeli i ka Elepani.

ʻAneʻane hiki i kā mākou mea kūʻai aku i kēia postulate, ua kūkulu hou i ka ʻāina e pili ana i nā hana ʻenekinia o nā hui DevOps.

Akā ʻoiai me kahi ʻai "kaʻawale, elephantine", loaʻa iā mākou kahi manawa kūpono o ka "oversaturation" o ka ʻāina IT. I kēia manawa he mea kūpono ke kū, hoʻomaha a nānā i ka ʻaoʻao kahua ʻenekinia haʻahaʻa.

He nui nā mea hoʻomohala e makaʻu i ka manaʻo o kahi hopena make i kā lākou ʻoihana i ka wā e neʻe aku ai mai ke kākau pololei ʻana i ke code i ka "kauo" i nā pua ma nā loulou UI o nā ʻōnaehana haʻahaʻa. Akā ʻo ka hiki ʻana mai o nā mea hana mīkini ʻaʻole i alakaʻi i ka nalowale o nā ʻenekinia, akā lawe mai i kā lākou hana i kahi pae hou!

E noʻonoʻo kākou i ke kumu.

ʻO ka ʻikepili ʻikepili i ke kahua o ka logistics, ka ʻoihana telecom, ka noiʻi media, ka ʻāpana kālā e pili mau ana me kēia mau nīnau:

  • ʻO ka wikiwiki o ka loiloi automated;
  • Hiki ke hana i nā hoʻokolohua me ka ʻole o ka hoʻopili ʻana i ke kahe hana ʻikepili nui;
  • ʻO ka hilinaʻi o ka ʻikepili i hoʻomākaukau ʻia;
  • Hoʻololi i ka nānā ʻana a me ka hoʻololi ʻana;
  • Hōʻikeʻikeʻikepili, laina laina, CDC;
  • Hāʻawi wikiwiki i nā hiʻohiʻona hou i ke kaiapuni hana;
  • Aʻo ka mea kaulana: ke kumukūʻai o ka hoʻomohala a me ke kākoʻo.

ʻO ia hoʻi, he nui nā hana kiʻekiʻe o nā ʻenekinia, hiki ke hoʻopau ʻia me ka pono kūpono wale nō ma ka hoʻomaʻemaʻe ʻana i ko lākou ʻike i nā hana hoʻomohala haʻahaʻa.

ʻO nā mea e pono ai nā mea hoʻomohala e neʻe i kahi pae hou, ʻo ia ka evolution a me ka digitalization o ka ʻoihana. Ke hoʻololi nei hoʻi ka waiwai o ka mea hoʻomohala: aia ka hapa nui o nā mea hoʻomohala hiki iā lākou ke hoʻokomo iā lākou iho i nā manaʻo o ka ʻoihana e hana ʻia.

E kahakiʻi kākou i ka hoʻohālikelike me nā ʻōlelo papahana pae haʻahaʻa a kiʻekiʻe. ʻO ka hoʻololi ʻana mai nā ʻōlelo haʻahaʻa haʻahaʻa i nā ʻōlelo kiʻekiʻe he hoʻololi ia mai ke kākau ʻana i nā "directives directives in the language of hardware" i "directives in the language of people". ʻO ia hoʻi, ka hoʻohui ʻana i kekahi papa o ka abstraction. I kēia hihia, ʻo ka hoʻololi ʻana i nā kahua haʻahaʻa haʻahaʻa mai nā ʻōlelo papahana kiʻekiʻe he hoʻololi mai "nā kuhikuhi i ka ʻōlelo a nā kānaka" i "nā kuhikuhi i ka ʻōlelo o ka ʻoihana". Inā he mau mea hoʻomohala i kaumaha i kēia ʻoiaʻiʻo, a laila ua kaumaha lākou, malia paha, mai ka manawa i hānau ʻia ai ʻo Java Script, e hoʻohana ana i nā hana hoʻonohonoho array. A ʻo kēia mau hana, ʻoiaʻiʻo, loaʻa ka hoʻokō lako polokalamu ma lalo o ka puʻupuʻu e nā ala ʻē aʻe o ka papahana kiʻekiʻe kiʻekiʻe.

No laila, ʻo ke code haʻahaʻa ke ʻano o kahi pae ʻē aʻe o ka abstraction.

Hoʻohana ʻia ka ʻike me ka hoʻohana ʻana i nā code haʻahaʻa

He ākea loa ke kumuhana o ka low-code, akā i kēia manawa makemake wau e kamaʻilio e pili ana i ka hoʻohana pono ʻana o nā "manaʻo haʻahaʻa-code" me ka hoʻohana ʻana i ka laʻana o kekahi o kā mākou papahana.

ʻO ka mahele ʻikepili nui ʻo Neoflex ka mea kūikawā i ka ʻoihana kālā o ka ʻoihana, ke kūkulu ʻana i nā hale kūʻai ʻikepili a me nā loko a me ka automating i nā hōʻike like ʻole. I loko o kēia niche, ua lilo ka hoʻohana ʻana i nā code haʻahaʻa i mea maʻamau. Ma waena o nā mea hana haʻahaʻa haʻahaʻa, hiki iā mākou ke haʻi i nā mea hana no ka hoʻonohonoho ʻana i nā kaʻina hana ETL: Informatica Power Center, IBM Datastage, Pentaho Data Integration. A i ʻole ʻo Oracle Apex, e hana ana ma ke ʻano he kaiapuni no ka hoʻomohala wikiwiki ʻana o nā mea hoʻopili no ke komo ʻana a me ka hoʻoponopono ʻana i ka ʻikepili. Eia nō naʻe, ʻaʻole pili mau ka hoʻohana ʻana i nā mea hana hoʻomohala haʻahaʻa i ke kūkulu ʻana i nā noi i manaʻo nui ʻia ma kahi ʻenehana ʻenehana kalepa me ka hilinaʻi maopopo ʻana i ka mea kūʻai aku.

Me ka hoʻohana ʻana i nā paepae haʻahaʻa haʻahaʻa, hiki iā ʻoe ke hoʻonohonoho i ka orchestration o nā kahawai ʻikepili, hana i nā paepae ʻepekema data a i ʻole, no ka laʻana, nā modules no ka nānā ʻana i ka maikaʻi o ka ʻikepili.

ʻO kekahi o nā hiʻohiʻona i noi ʻia o ka ʻike i ka hoʻohana ʻana i nā mea hana hoʻomohala haʻahaʻa ʻo ia ka hui pū ʻana ma waena o Neoflex a me Mediascope, kekahi o nā alakaʻi o ka mākeke noiʻi media Lūkini. ʻO kekahi o nā pahuhopu pāʻoihana o kēia hui ʻo ia ka hana ʻana i ka ʻikepili ma ke kumu o nā mea hoʻolaha, nā pūnaewele pūnaewele, nā ala TV, nā lekiō, nā keʻena hoʻolaha a me nā hōʻailona e hoʻoholo ai e pili ana i ke kūʻai ʻana i ka hoʻolaha a hoʻolālā i kā lākou kamaʻilio kūʻai.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

ʻO ka noiʻi Media he wahi ʻenehana i hoʻouka ʻia o ka ʻoihana. ʻO ka ʻike ʻana i nā kaʻina wikiō, ka hōʻiliʻili ʻana i ka ʻikepili mai nā polokalamu e nānā ana i ka nānā ʻana, ke ana ʻana i ka hana ma nā kumuwaiwai pūnaewele - hōʻike kēia mau mea he limahana IT nui ka hui a me ka ʻike nui i ke kūkulu ʻana i nā hopena analytical. Akā ʻo ka ulu nui o ka ʻike, ka helu a me nā ʻano like ʻole o kāna mau kumu e koi ai i ka ʻoihana ʻikepili IT e holomua mau. ʻO ka hopena maʻalahi loa i ka hoʻonui ʻana i ka paepae analytical Mediascope hiki ke hoʻonui i ka limahana IT. Akā ʻoi aku ka maikaʻi o ka hoʻoponopono ʻana i ka hoʻomohala ʻana. ʻO kekahi o nā ʻanuʻu e alakaʻi ana i kēia ala ʻo ia paha ka hoʻohana ʻana i nā paepae haʻahaʻa.

I ka manawa i hoʻomaka ai ka papahana, ua loaʻa i ka hui kahi hopena huahana hana. Eia naʻe, ʻaʻole hiki i ka hoʻokō ʻana o ka hoʻonā ma MSSQL ke hoʻokō piha i nā manaʻolana no ka hana scaling ʻoiai e mālama ana i kahi kumukūʻai kūpono o ka hoʻomohala ʻana.

ʻO ka hana ma mua o mākou he makemake maoli - pono ʻo Neoflex a me Mediascope e hana i kahi hopena ʻenehana ma lalo o hoʻokahi makahiki, ma muli o ka hoʻokuʻu ʻana o ka MVP i ka hapaha mua o ka lā hoʻomaka.

Ua koho ʻia ka ʻenehana ʻenehana Hadoop i kumu no ke kūkulu ʻana i kahi kahua ʻikepili hou e pili ana i ka helu helu haʻahaʻa. Ua lilo ʻo HDFS i mea maʻamau no ka mālama ʻana i ka ʻikepili me ka hoʻohana ʻana i nā faila parquet. No ke kiʻi ʻana i ka ʻikepili i loaʻa i ka paepae, ua hoʻohana ʻia ʻo Hive, kahi e hōʻike ʻia ai nā hale kūʻai āpau i loaʻa ma ke ʻano o nā papa waho. Hoʻokomo ʻia ka hoʻouka ʻana i ka ʻikepili i loko o ka waihona me Kafka a me Apache NiFi.

Ua hoʻohana ʻia ka hāmeʻa Lowe-code i kēia manaʻo no ka hoʻopaʻa ʻana i ka hana koʻikoʻi o ka hana ma ke kūkulu ʻana i kahi paepae analytical - ka hana o ka helu ʻikepili.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

Ua koho ʻia ka hāmeʻa Datagram haʻahaʻa ma ke ʻano he kumu nui no ka palapala ʻikepili. ʻIkepili Neoflex he mea hana no ka hoʻomohala ʻana i nā loli a me nā kahe ʻikepili.
Ke hoʻohana nei i kēia hāmeʻa, hiki iā ʻoe ke hana me ka ʻole e kākau lima i ka code Scala. Hoʻokumu ʻia ka code Scala me ka hoʻohana ʻana i ke ʻano hoʻohālikelike Model Driven Architecture.

ʻO kahi pōmaikaʻi maopopo o kēia ala ʻo ia ka wikiwiki o ka hoʻomohala ʻana. Eia naʻe, ma waho aʻe o ka wikiwiki, aia kekahi mau pōmaikaʻi:

  • Ke nānā ʻana i ka ʻike a me ke ʻano o nā kumu / loaʻa;
  • Ka ʻimi ʻana i ke kumu o nā mea kahe o ka ʻikepili i kēlā me kēia kahua (ke kuauhau);
  • Hoʻokō hapa o nā hoʻololi me ka nānā ʻana i nā hopena waena;
  • Ka nānā ʻana i ke code kumu a hoʻoponopono iā ia ma mua o ka hoʻokō ʻana;
  • ʻO ka hōʻoia 'akomi o nā hoʻololi;
  • Hoʻoiho ʻikepili ʻakomi 1 i ka 1.

He haʻahaʻa loa ka pale i ke komo ʻana i nā haʻina haʻahaʻa no ka hana ʻana i nā loli: pono ka mea hoʻomohala e ʻike iā SQL a loaʻa iā ia ka ʻike hana me nā mea hana ETL. He mea kūpono ke haʻi ʻana ʻaʻole nā ​​mea hoʻololi hoʻololi code-driven ʻaʻole nā ​​mea hana ETL i ka manaʻo ākea o ka huaʻōlelo. ʻAʻole paha i loaʻa i nā mea hana code haʻahaʻa ko lākou kaiapuni hoʻokō code. ʻO ia hoʻi, e hoʻokō ʻia ke code i hana ʻia i loko o ke kaiapuni i noho ma ka hui ma mua o ka hoʻokomo ʻana i ka hopena haʻahaʻa. A he mea hou paha kēia no ka karma haʻahaʻa haʻahaʻa. No ka mea, e like me ka hui haʻahaʻa, hiki i kahi hui "maʻamau" ke hana e hoʻokō i nā hana, no ka laʻana, ma ke code Scala maʻemaʻe. ʻO ka lawe ʻana i nā hoʻomaikaʻi mai nā hui ʻelua i ka hana ʻana e maʻalahi a maʻalahi.

He mea pono paha e hoʻomaopopo i ka hoʻohui ʻana i nā code haʻahaʻa, aia pū kekahi mau hoʻonā no-code. A ma ko lākou kumu, he mau mea like ʻole kēia. Hāʻawi ka haʻahaʻa code i ka mea hoʻomohala e hoʻopilikia hou i ke code i hana ʻia. I ka hihia o Datagram, hiki ke nānā a hoʻoponopono i ka code Scala i hana ʻia; ʻaʻole hiki ke hāʻawi i kahi code-code i kēlā manawa. He mea koʻikoʻi loa kēia ʻokoʻa ʻaʻole wale ma ke ʻano o ka maʻalahi o ka hoʻonā, akā ma ke ʻano o ka hōʻoluʻolu a me ka hoʻoikaika ʻana i ka hana a nā ʻenekini data.

Hoʻolālā hoʻonā

E ho'āʻo kākou e noʻonoʻo i ke ʻano o ke kōkua ʻana o kahi hāmeʻa haʻahaʻa haʻahaʻa e hoʻoponopono i ka pilikia o ka hoʻonui ʻana i ka wikiwiki o ka hoʻomohala ʻana i ka hana helu ʻikepili. ʻO ka mea mua, e nānā kākou i ka hoʻolālā hana o ka ʻōnaehana. ʻO kahi laʻana ma kēia hihia ʻo ke kumu hoʻohālike hana ʻikepili no ka noiʻi media.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

He ʻokoʻa loa nā kumu ʻikepili i kā mākou hihia:

  • ʻO nā mika kanaka (Mika TV) he lako polokalamu a me nā lako lako e heluhelu ana i ka ʻano o ka mea hoʻohana mai nā pane pane ʻana mai o ke kīwī - ʻo wai, i ka manawa a me ke ala TV i nānā ʻia i loko o ka hale e komo ana i ka haʻawina. ʻO ka ʻike i hāʻawi ʻia he kahawai o nā manawa nānā hoʻolaha i hoʻopili ʻia i ka pūʻolo media a me ka huahana media. Hiki ke hoʻonui ʻia ka ʻikepili ma ke kahua o ka hoʻouka ʻana i loko o ka Data Lake me nā hiʻohiʻona demographic, geostratification, time zone a me nā ʻike ʻē aʻe e pono ai no ka nānā ʻana i ke kīwī i kahi huahana media. Hiki ke hoʻohana ʻia nā ana i lawe ʻia no ke kālailai a hoʻolālā ʻana i nā hoʻolaha hoʻolaha, loiloi i ka hana a me nā makemake o ka lehulehu, a me ka hōʻuluʻulu ʻana i ka pūnaewele hoʻolaha;
  • Hiki ke kiʻi mai nā ʻikepili mai nā ʻōnaehana nānā no ka hoʻoheheʻe ʻana i nā hoʻolaha kīwī a me ke ana ʻana i ka nānā ʻana i nā ʻike kumu wikiō ma ka Pūnaewele;
  • Ke ana ʻana i nā mea hana i loko o ke kaiapuni pūnaewele, e komo pū ana me nā mika-centric a me nā mika-mea hoʻohana. ʻO ka mea hāʻawi ʻikepili no ka Data Lake hiki ke lilo i mea hoʻohui i ka pahu noiʻi a me kahi noi kelepona me kahi VPN i kūkulu ʻia.
  • Hiki ke hele mai ka ʻikepili mai nā pūnaewele e hoʻohui i nā hopena o ka hoʻopiha ʻana i nā nīnau nīnau pūnaewele a me nā hopena o nā nīnauele kelepona i nā noiʻi ʻoihana;
  • Hiki ke hoʻonui hou ʻia ka loko data ma ka hoʻoiho ʻana i ka ʻike mai nā moʻolelo o nā hui hoa.

Hiki ke hoʻonohonoho ʻia ka hoʻokō ʻana o ka hoʻouka ʻana mai nā ʻōnaehana kumu i ka hoʻonohonoho mua ʻana o ka ʻikepili maka ma nā ʻano like ʻole. Inā hoʻohana ʻia nā code haʻahaʻa no kēia mau kumu, hiki ke hana ʻia ka hoʻouka ʻana i nā palapala e pili ana i ka metadata. I kēia hihia, ʻaʻohe pono e iho i lalo i ka pae o ka hoʻomohala ʻana i ke kumu no ka huli ʻana i nā palapala palapala. No ka hoʻokō ʻana i ka hoʻouka maʻalahi, pono mākou e hoʻokumu i kahi pilina i ke kumu, a laila e wehewehe i ka hoʻouka ʻana i ka papa inoa o nā mea e hoʻouka ʻia. E hana ʻokoʻa ʻia ka ʻōnaehana papa kuhikuhi ma HDFS a pili pū me ka ʻōnaehana mālama ʻikepili ma ka ʻōnaehana kumu.

Eia naʻe, i loko o ka pōʻaiapili o kēia papahana, ua hoʻoholo mākou ʻaʻole e hoʻohana i kēia hiʻohiʻona o ka paepae haʻahaʻa ma muli o ka hoʻomaka kūʻokoʻa ʻana o ka hui Mediascope i ka hana ʻana i kahi lawelawe like me ka hoʻohana ʻana i ka hui Nifi + Kafka.

Pono e hōʻike koke ʻaʻole hiki ke hoʻololi ʻia kēia mau mea hana, akā hoʻohui. Hiki iā Nifi a me Kafka ke hana pololei (Nifi -> Kafka) a me ka hoʻohuli (Kafka -> Nifi). No ke kahua noiʻi media, ua hoʻohana ʻia ka mana mua o ka pūʻolo.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

I kā mākou hihia, pono ʻo NayFi e hoʻoponopono i nā ʻano ʻikepili like ʻole mai nā ʻōnaehana kumu a hoʻouna iā lākou i ka mea kūʻai aku ʻo Kafka. I kēia hihia, ua hoʻouna ʻia nā memo i kahi kumuhana Kafka kikoʻī me ka hoʻohana ʻana i nā kaʻina hana PublishKafka Nifi. Hoʻokō ʻia ka orchestration a me ka mālama ʻana i kēia mau pipelines i kahi ʻike maka. ʻO ka mea hana Nifi a me ka hoʻohana ʻana i ka hui Nifi + Kafka hiki ke kapa ʻia he ala haʻahaʻa haʻahaʻa i ka hoʻomohala ʻana, kahi haʻahaʻa haʻahaʻa i ke komo ʻana i nā ʻenehana Big Data a wikiwiki i ke kaʻina hana hoʻomohala noi.

ʻO ka pae aʻe o ka hoʻokō ʻana i ka papahana ʻo ia ka lawe ʻana i ka ʻikepili kikoʻī i kahi ʻano papa semantic hoʻokahi. Inā loaʻa i kahi hui nā hiʻohiʻona mōʻaukala, hana ʻia ka helu ʻana ma ka pōʻaiapili o ka ʻāpana i nīnau ʻia. Inā ʻaʻole he mōʻaukala ka hui, a laila hiki ke helu hou i nā ʻike holoʻokoʻa o ka mea, a i ʻole hōʻole loa i ka helu hou ʻana i kēia mea (no ka nele o nā loli). I kēia pae, hana ʻia nā kī no nā hui āpau. Hoʻopaʻa ʻia nā kī i loko o nā papa kuhikuhi Hbase e pili ana i nā mea haku, aia kahi pilina ma waena o nā kī i ka paepae analytical a me nā kī mai nā ʻōnaehana kumu. Hoʻohui ʻia nā hui atomic me ka hoʻonui ʻana me nā hopena o ka helu mua ʻana o ka ʻikepili analytical. ʻO Spark ke kahua no ka helu ʻikepili. Ua hoʻokō ʻia ka hana i wehewehe ʻia no ka lawe ʻana i ka ʻikepili i kahi semantics hoʻokahi ma muli o nā palapala palapala mai ka hāmeʻa Datagram low-code.

Pono ka hoʻolālā pahuhopu i ka loaʻa ʻana o SQL i ka ʻikepili no nā mea hoʻohana ʻoihana. Ua hoʻohana ʻia ka hive no kēia koho. Hoʻopaʻa inoa ʻia nā mea ma Hive i ka wā e hiki ai iā ʻoe ke koho "Registr Hive Table" i ka hāmeʻa haʻahaʻa.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

Ka mana kahe helu

Loaʻa i ka Datagram kahi kikowaena no ka hana ʻana i nā hoʻolālā kahe kahe hana. Hiki ke hoʻokuʻu ʻia nā palapala ma ka hoʻohana ʻana i ka mea hoʻonohonoho Oozie. Ma ke kahawai mea hoʻomohala, hiki ke hana i nā papahana no ka hoʻololi ʻana i ka ʻikepili like, sequential, a i ʻole hoʻokō. Aia ke kākoʻo no nā ʻatikala shell a me nā polokalamu java. Hiki ke hoʻohana i ka server Apache Livy. Hoʻohana ʻia ʻo Apache Livy e holo pololei i nā noi mai ke kahua hoʻomohala.

Inā loaʻa i ka ʻoihana kāna mea hoʻokele ponoʻī, hiki ke hoʻohana i ka REST API e hoʻokomo i nā palapala palapala i kahi kahe e kū nei. No ka laʻana, ua loaʻa iā mākou ka ʻike kūleʻa o ka hoʻokomo ʻana i nā palapala palapala ma Scala i loko o nā mea hoʻokani pila i kākau ʻia ma PLSQL a me Kotlin. ʻO ka REST API o ka hāmeʻa haʻahaʻa haʻahaʻa e pili ana i nā hana e like me ka hoʻokumu ʻana i kahi makahiki hoʻokō e pili ana i ka hoʻolālā palapala ʻāina, ke kāhea ʻana i ka palapala ʻāina, ke kāhea ʻana i ke kaʻina o nā palapala palapala, a, ʻoiaʻiʻo hoʻi, e hāʻawi i nā ʻāpana i ka URL e holo ai i nā palapala palapala.

Me Oozie, hiki ke hoʻonohonoho i kahi kahe helu me ka hoʻohana ʻana i ka Airflow. ʻAʻole paha wau e noʻonoʻo lōʻihi i ka hoʻohālikelike ma waena o Oozie a me Airflow, akā e ʻōlelo wale aku i ka pōʻaiapili o ka hana ma kahi papahana noiʻi media, ua hāʻule ka koho i ka Airflow. ʻO nā manaʻo koʻikoʻi i kēia manawa he kaiāulu ʻoi aku ka ikaika e hoʻomohala ana i ka huahana a me kahi interface i kūkulu ʻia + API.

Maikaʻi nō hoʻi ka ea no ka mea hoʻohana ʻo ia i ka Python aloha e wehewehe i nā kaʻina helu helu. A ma ka laulā, ʻaʻole nui ka nui o nā kahua hoʻokele workflow open source. ʻO ka hoʻomaka ʻana a me ka nānā ʻana i ka hoʻokō ʻana i nā kaʻina hana (me kahi palapala Gantt) e hoʻohui wale i nā helu i ka karma o Airflow.

Ua lilo ka ʻano waihona hoʻonohonoho no ka hoʻokuʻu ʻana i nā palapala hoʻonā haʻahaʻa haʻahaʻa. Ua hana kēia no nā kumu ʻelua. ʻO ka mea mua, hiki i ka spark-submit ke holo pololei i kahi faila jar mai ka console. ʻO ka lua, hiki iā ia ke loaʻa nā ʻike āpau e pono ai e hoʻonohonoho i ke kahe hana (kahi e maʻalahi ai ke kākau ʻana i nā palapala e hoʻohua ai iā Dag).
ʻO ka mea maʻamau o ke kahe hana Airflow i kā mākou hihia ʻo ia ka SparkSubmitOperator.

Hāʻawi ʻo SparkSubmitOperator iā ʻoe e holo i nā pahu - i hoʻopaʻa ʻia i nā palapala palapala Datagram me nā ʻāpana hoʻokomo i hana mua ʻia no lākou.

Pono e haʻi ʻia e holo ana kēlā me kēia hana Airflow ma kahi ʻāpana ʻokoʻa a ʻaʻole ʻike i kekahi mea e pili ana i nā hana ʻē aʻe. No laila, hana ʻia ka pilina ma waena o nā hana me ka hoʻohana ʻana i nā mea hoʻokele, e like me DummyOperator a i ʻole BranchPythonOperator.

Hoʻohui pū ʻia, ʻo ka hoʻohana ʻana i ka Datagram low-code solution i hui pū me ka universalization o nā faila hoʻonohonoho (hoʻokumu ʻana iā Dag) alakaʻi i kahi wikiwiki nui a me ka maʻalahi o ke kaʻina hana o ka hoʻomohala ʻana i nā kahe hoʻoili ʻikepili.

Helu hōʻikeʻike

Malia paha ʻo ka pae i hoʻonui ʻia i ka naʻauao i ka hana ʻana i ka ʻikepili analytical ʻo ka pae o ke kūkulu ʻana i nā hale hōʻikeʻike. I loko o ka pōʻaiapili o kekahi o ka hui noiʻi ʻikepili e kahe ana, i kēia manawa, hoʻemi ʻia ka ʻikepili i kahi hoʻolaha kuhikuhi, me ka noʻonoʻo ʻana i nā hoʻoponopono no nā āpana manawa a pili i ka pā hoʻolaha. Hiki ke hoʻololi no ka pūnaewele hoʻolaha kūloko (nā nūhou kūloko a me ka hoʻolaha). Ma waena o nā mea ʻē aʻe, ua wāwahi kēia ʻanuʻu i nā manawa o ka nānā mau ʻana i nā huahana media e pili ana i ka nānā ʻana o nā wā nānā. I ka manawa koke, ua "kaumaha" nā waiwai nānā e pili ana i ka ʻike e pili ana i ko lākou koʻikoʻi (ka helu ʻana i kahi kumu hoʻoponopono).

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

ʻO kahi hana kaʻawale i ka hoʻomākaukau ʻana i nā hale hōʻikeʻike ʻo ka hōʻoia ʻikepili. ʻO ka algorithm hōʻoia e pili ana i ka hoʻohana ʻana i kekahi mau hiʻohiʻona ʻepekema makemakika. Eia nō naʻe, ʻo ka hoʻohana ʻana i kahi paepae haʻahaʻa haʻahaʻa e hiki ai iā ʻoe ke wāwahi i kahi algorithm paʻakikī i loko o kahi helu o nā palapala palapala ʻike hiki ke heluhelu ʻia. Hana kēlā me kēia palapala palapala i kahi hana haiki. Ma muli o ka hopena, hiki ke hoʻopaʻa inoa waena, ka hoʻopaʻa ʻana a me ka ʻike ʻana i nā pae hoʻomākaukau ʻikepili.

Ua hoʻoholo ʻia e hoʻokaʻawale i ka algorithm hōʻoia i loko o nā substages:

  • Ke kūkulu ʻana i nā regressions o nā hilinaʻi ʻike ʻike TV ma kahi ʻāina me ka nānā ʻana i nā pūnaewele āpau ma ka ʻāina no 60 mau lā.
  • Ka helu ʻana o nā koena haumāna (ka hoʻokaʻawale ʻana o nā waiwai maoli mai nā mea i wānana ʻia e ke kumu hoʻohālikelike) no nā helu regression āpau a no ka lā helu.
  • ʻO kahi koho o nā ʻāpana ʻāpana-hui pūnaewele anomalous, kahi i ʻoi aku ai ke koena haumāna o ka lā hoʻoholo i ka mea maʻamau (i kuhikuhi ʻia e nā hoʻonohonoho hana).
  • Ka helu hou 'ana i ke koena haumāna i ho'oponopono 'ia no nā hui pūnaewele 'āina-TV no kēlā me kēia mea pane nāna i nānā i ka pūnaewele ma ka 'āina, e ho'oholo ana i ka hā'awi 'ana o kēia mea pane (ka nui o ka ho'ololi 'ana i ke koena haumāna) ke kāpae 'ia ka nānā 'ana o kēia mea pane mai ka hāpana. .
  • E ʻimi i nā moho i hoʻihoʻi ʻia ke koena haumāna o ka lā uku i ka mea maʻamau.

ʻO ka laʻana ma luna nei e hōʻoia ana i ke kuhiakau he nui loa ka manaʻo o kahi ʻenekini data ... A, inā he "engineer" maoli kēia a ʻaʻole "coder," a laila ka makaʻu i ka hoʻohaʻahaʻa ʻoihana i ka wā e hoʻohana ai i nā mea hana haʻahaʻa. pono e emi hope.

He aha nā mea ʻē aʻe e hiki ke hana i ka code haʻahaʻa?

ʻAʻole i pau ka laulā o ka noi ʻana i kahi hāmeʻa haʻahaʻa haʻahaʻa no ka hoʻoili ʻana i ka ʻikepili a me ke kahawai me ka ʻole o ka pono e kākau lima i ka code ma Scala.

ʻO ka hoʻohana ʻana i nā code haʻahaʻa i ka hoʻomohala ʻana i ka datalake ua lilo i mea maʻamau no mākou. Hiki paha iā mākou ke ʻōlelo i nā hopena e pili ana i ka pā Hadoop e hahai i ke ala hoʻomohala o nā DWH maʻamau e pili ana i RDBMS. Hiki i nā mea hana haʻahaʻa haʻahaʻa ma ka pā Hadoop ke hoʻoponopono i nā hana hoʻoili ʻikepili a me ka hana o ke kūkulu ʻana i nā pilina BI hope loa. Eia kekahi, pono e hoʻomaopopo ʻia ʻaʻole hiki i ka BI ke kuhikuhi wale i ka hōʻike ʻana i ka ʻikepili, akā ʻo kāna hoʻoponopono ʻana hoʻi e nā mea hoʻohana ʻoihana. Hoʻohana pinepine mākou i kēia hana i ke kūkulu ʻana i nā paepae analytical no ka ʻāpana kālā.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

Ma waena o nā mea ʻē aʻe, me ka hoʻohana ʻana i nā code haʻahaʻa a, ʻo ia hoʻi, Datagram, hiki ke hoʻoponopono i ka pilikia o ka nānā ʻana i ke kumu o nā mea kahawai ʻikepili me ka atomicity a hiki i nā kahua pākahi (lineage). No ka hana ʻana i kēia, hoʻokomo ka hāmeʻa haʻahaʻa haʻahaʻa me Apache Atlas a me Cloudera Navigator. ʻO ka mea nui, pono ka mea hoʻomohala e hoʻopaʻa inoa i kahi pūʻulu o nā mea ma nā puke wehewehe'ōlelo Atlas a kuhikuhi i nā mea i hoʻopaʻa ʻia i ka wā e kūkulu ai i nā palapala palapala. ʻO ka mīkini no ka nānā ʻana i ke kumu o ka ʻikepili a i ʻole ka nānā ʻana i nā mea hilinaʻi e mālama i ka manawa he nui i ka wā e pono ai e hoʻomaikaʻi i nā algorithm helu helu. No ka laʻana, i ka hoʻomākaukau ʻana i nā ʻōlelo kālā, ʻae kēia hiʻohiʻona iā ʻoe e ʻoi aku ka ʻoluʻolu o ke ola ʻana i ka wā o nā hoʻololi kānāwai. Ma hope o nā mea a pau, ʻoi aku ka maikaʻi o ka hoʻomaopopo ʻana i ka hilinaʻi inter-form i loko o ka pōʻaiapili o nā mea o kahi papa kikoʻī, ʻoi aku ka liʻiliʻi e hālāwai ai mākou i nā hemahema "pōkole" a hoʻemi i ka nui o nā hana hou.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

Pono ʻIkepili a me nā code haʻahaʻa

ʻO kekahi hana ʻē aʻe i hoʻokō ʻia e ka hāmeʻa haʻahaʻa haʻahaʻa ma ka papahana Mediascope ʻo ia ka hana papa Data Quality. ʻO kahi hiʻohiʻona kūikawā o ka hoʻokō ʻana i ka pipeline hōʻoia ʻikepili no ka papahana ʻoihana noiʻi ʻo ka nele o ka hopena i ka hana a me ka wikiwiki o ka kahe helu helu nui. No ka hiki ke hoʻonohonoho i nā kahe hōʻoia ʻikepili kūʻokoʻa, ua hoʻohana ʻia ka Apache Airflow maʻamau. I ka mākaukau ʻana o kēlā me kēia ʻanuʻu o ka hana ʻikepili, ua hoʻokuʻu ʻia kahi ʻāpana ʻokoʻa o ka pipeline DQ i ka like.

Manaʻo ʻia he hana maikaʻi ke nānā ʻana i ka maikaʻi o ka ʻikepili mai ka manawa o kona hoʻomaka ʻana i ka paepae analytical. Loaʻa ka ʻike e pili ana i ka metadata, hiki iā mākou ke nānā i ka hoʻokō me nā kūlana kumu mai ka manawa i komo ai ka ʻike i ka papa mua - ʻaʻole null, constraints, nā kī haole. Hoʻokō ʻia kēia hana ma muli o nā palapala palapala i hana ʻia o ka ʻohana maikaʻi ʻikepili ma Datagram. Hoʻokumu pū ʻia ka hana code ma kēia hihia ma ke ʻano metadata. Ma ka papahana Mediascope, ua lawe ʻia ke kikowaena me ka metadata o ka huahana Enterprise Architect.

Ma ka hoʻopili ʻana i ka hāmeʻa haʻahaʻa haʻahaʻa me Enterprise Architect, ua hana ʻia nā loiloi ma lalo nei:

  • Ke nānā nei i ka loaʻa ʻana o nā waiwai "null" ma nā kahua me ka "not null" modifier;
  • Ke nānā ʻana i ka loaʻa ʻana o nā kope o ke kī mua;
  • Ke nānā ʻana i ke kī haole o kahi hui;
  • Ke nānā ʻana i ka ʻokoʻa o kahi kaula e pili ana i kahi pūʻulu o nā kahua.

No ka paʻakikī paʻakikī o ka loaʻa ʻana o ka ʻikepili a me ka hilinaʻi, ua hana ʻia kahi palapala ʻāina me Scala Expression, kahi e hoʻokomo ai i kahi code check Spark SQL waho i hoʻomākaukau ʻia e nā mea loiloi ma Zeppelin.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

ʻOiaʻiʻo, pono e hoʻokō mālie ʻia ka hana ʻana o nā loiloi. I loko o ke kahua o ka papahana i wehewehe ʻia, ua hana mua ʻia kēia e nā pae aʻe:

  • Hoʻokomo ʻia ʻo DQ ma nā puke puke Zeppelin;
  • DQ i kūkulu ʻia i ka palapala ʻāina;
  • ʻO DQ ma ke ʻano o nā palapala palapala nui kaʻawale i loaʻa kahi pūʻulu holoʻokoʻa o nā loiloi no kahi hui ʻokoʻa;
  • ʻO nā palapala palapala DQ i hoʻohālikelike ʻia e ʻae i ka ʻike e pili ana i ka metadata a me nā loiloi ʻoihana ma ke ʻano he hoʻokomo.

ʻO ka pōmaikaʻi nui paha o ka hoʻokumu ʻana i kahi lawelawe nānā parameterized ʻo ka hōʻemi ʻana i ka manawa e lawe ai i ka hana i ka ʻenehana hana. Hiki i nā loiloi maikaʻi hou ke kāpae i ke ʻano maʻamau o ka hāʻawi ʻana i nā code ma o ka hoʻomohala ʻana a me ka hoʻāʻo ʻana.

  • Hana ʻia nā loiloi metadata āpau ke hoʻololi ʻia ke kumu hoʻohālike ma EA;
  • Hiki ke hana ʻia nā mākaʻikaʻi ʻikepili (e hoʻoholo ana i ka loaʻa ʻana o kekahi ʻikepili i kahi manawa) ma muli o kahi papa kuhikuhi e mālama ai i ka manawa i manaʻo ʻia o ke ʻano o ka ʻikepili aʻe i loko o ka pōʻaiapili o nā mea;
  • Hana ʻia nā loiloi hōʻoia ʻikepili pāʻoihana e nā mea loiloi ma nā puke puke Zeppelin. Mai laila mai hoʻouna pololei ʻia lākou i nā papa hoʻonohonoho DQ module i loko o ka ʻenehana hana.

ʻAʻohe pilikia o ka hoʻouna pololei ʻana i nā palapala i ka hana. ʻOiai me ka hewa syntax, ʻo ka hapa nui e hoʻoweliweli iā mākou ʻo ka hiki ʻole ke hana i hoʻokahi hōʻoia, no ka mea, ua hoʻokaʻawale ʻia ke kahe helu ʻikepili a me ka holo ʻana o ka hōʻoia maikaʻi.

ʻO ka mea nui, ke holo mau nei ka lawelawe DQ i ka ʻenehana hana a ua mākaukau e hoʻomaka i kāna hana i ka manawa e ʻike ʻia ai ka ʻikepili aʻe.

Ma kahi o ka hopena

ʻIke ʻia ka maikaʻi o ka hoʻohana ʻana i nā code haʻahaʻa. ʻAʻole pono nā mea hoʻomohala e hoʻomohala i ka noi mai ka wā kahiko. A ʻo ka mea polokalamu polokalamu i hoʻokuʻu ʻia mai nā hana hou aʻe e hoʻopuka i nā hopena wikiwiki. Hoʻokuʻu ka wikiwiki i ka manawa hou no ka hoʻoponopono ʻana i nā pilikia optimization. No laila, i kēia hihia, hiki iā ʻoe ke hilinaʻi i kahi hopena ʻoi aku ka maikaʻi a me ka wikiwiki.

ʻOiaʻiʻo, ʻaʻole he panacea ka haʻahaʻa haʻahaʻa, a ʻaʻole hiki ke hana kilokilo ma kāna iho:

  • Ke hele nei ka ʻoihana haʻahaʻa haʻahaʻa ma ke ʻano o ka "ʻoi aku ka ikaika", a ʻaʻole i loaʻa nā kūlana ʻenehana like ʻole;
  • ʻAʻole manuahi ka nui o nā hāmeʻa haʻahaʻa haʻahaʻa, a ʻo ke kūʻai ʻana iā lākou he mea pono e hana ʻia me ka hilinaʻi piha i nā pono kālā o ka hoʻohana ʻana iā lākou;
  • ʻAʻole hana maikaʻi ka nui o nā haʻina haʻahaʻa me GIT/SVN. A i ʻole hiki ke hoʻohana inā hūnā ʻia ke code i hana ʻia;
  • I ka hoʻonui ʻana i ka hoʻolālā, pono paha e hoʻomaʻemaʻe i ka hopena haʻahaʻa haʻahaʻa - ʻo ia hoʻi, e hoʻonāukiuki i ka hopena o ka "hoʻopili a me ka hilinaʻi" i ka mea hoʻolako i ka hopena haʻahaʻa.
  • Hiki ke kiʻekiʻe o ka palekana, akā paʻakikī loa ka hoʻokō ʻana i nā mīkini ʻōnaehana haʻahaʻa. Pono e koho ʻia nā paepae haʻahaʻa haʻahaʻa ʻaʻole wale ma ke kumu o ka ʻimi ʻana i nā pono mai kā lākou hoʻohana ʻana. I ke koho ʻana, pono e nīnau i nā nīnau e pili ana i ka loaʻa ʻana o ka hana no ka ʻae ʻana a me ka hāʻawi ʻana / piʻi ʻana o ka ʻikepili ʻike i ke kiʻekiʻe o ka ʻāina IT holoʻokoʻa o ka hui.

Ka hoʻohana ʻana i nā code haʻahaʻa i nā paepae analytical

Eia naʻe, inā ʻike ʻia nā hemahema a pau o ka ʻōnaehana i koho ʻia e ʻoe, a ʻo nā pōmaikaʻi o kāna hoʻohana ʻana, aia naʻe i ka hapa nui, a laila e neʻe i ka code liʻiliʻi me ka makaʻu ʻole. Eia kekahi, ʻaʻole hiki ke hoʻololi iā ia - e like me ka hiki ʻole ke hoʻololi ʻia.

Inā ʻoi aku ka wikiwiki o ka hana ʻana o kekahi mea hoʻomohala ma kahi kahua haʻahaʻa haʻahaʻa ma mua o ʻelua mau mea hoʻomohala me ka ʻole o ka code haʻahaʻa, a laila hāʻawi kēia i ka ʻoihana i ke poʻo i nā mea āpau. ʻO ka paepae no ke komo ʻana i nā haʻina haʻahaʻa haʻahaʻa ma lalo o nā ʻenehana "kuʻuna", a he hopena maikaʻi kēia i ka pilikia o ka nele o nā limahana. I ka hoʻohana ʻana i nā mea hana haʻahaʻa, hiki ke wikiwiki i ka pilina ma waena o nā hui hana a hoʻoholo wikiwiki e pili ana i ka pololei o ke ala i koho ʻia o ka noiʻi ʻepekema data. Hiki i nā papa haʻahaʻa haʻahaʻa ke alakaʻi i ka hoʻololi kikohoʻe o kahi hui no ka mea hiki ke hoʻomaopopo ʻia nā haʻina i hana ʻia e nā poʻe loea ʻole (ʻoi aku nā mea hoʻohana ʻoihana).

Inā loaʻa iā ʻoe nā palena palena paʻa, hoʻouka i ka loiloi ʻoihana, nele i ka ʻike loea, a pono ʻoe e wikiwiki i kou manawa i ka mākeke, a laila ʻo ka code haʻahaʻa kahi ala e hoʻokō ai i kāu mau pono.

ʻAʻohe mea hōʻole i ke koʻikoʻi o nā mea hana hoʻomohala maʻamau, akā i nā manawa he nui, ʻo ka hoʻohana ʻana i nā hāmeʻa haʻahaʻa haʻahaʻa ke ala maikaʻi loa e hoʻonui ai i ka pono o nā hana i hoʻoholo ʻia.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka