Ndewo onye ọ bụla!
Ọrụ a dị ka ndị a - enwere mmiri, nke egosipụtara na foto dị n'elu, nke kwesịrị ibugharị ya na sava N.
Saịtị NiFi gaa na Saịtị (S2S) bụ ụzọ echekwara, dịkwa mfe ịhazi iji nyefee data n'etiti oge NiFi. Kedu ka S2S si arụ ọrụ, lee
N'ọnọdụ ebe anyị na-ekwu maka mbufe data site na iji S2S, otu ihe atụ a na-akpọ ahịa, nke abụọ nkesa. Onye ahịa na-eziga data, ihe nkesa na-enweta. Ụzọ abụọ iji hazie nnyefe data n'etiti ha:
- Kwaa. Site na ihe atụ onye ahịa, a na-eziga data site na iji otu Remote Process Group (RPG). N'ihe atụ nkesa, a na-enweta data site na iji ọdụ ụgbọ mmiri
- Dọọ. Ihe nkesa na-enweta data site na iji RPG, onye ahịa na-eziga site na iji ọdụ ụgbọ mmiri mmepụta.
A na-echekwa usoro mbugharị n'ime ndekọ Apache.
Apache NiFi Registry bụ isiokwu nke Apache NiFi na-enye ngwá ọrụ maka nchekwa ọsọ na njikwa ụdị. Ụdị GIT. Enwere ike ịhụ ozi gbasara ịwụnye, ịhazi na ịrụ ọrụ na ndekọ
Na mbido, mgbe N bụ ọnụ ọgụgụ dị nta, a na-ebufe ma na-eji aka emelite ya n'oge anabatara.
Mana ka N na-etolite, nsogbu na-abawanye ụba:
- ọ na-ewe karịa oge iji melite eruba. Ịkwesịrị ịbanye na sava niile
- Njehie imelite ndebiri na-eme. Ebe ha melitere ya, mana ebe a ka ha chefuru
- mmejọ mmadụ mgbe ị na-eme ọtụtụ ọrụ ndị yiri ya
Ihe a niile na-eme ka anyị mata na anyị kwesịrị ịmegharị usoro ahụ. Agbalịrị m ụzọ ndị a iji dozie nsogbu a:
- Jiri MiNiFi kama NiFi
- NiFi CLI
- NiPyAPI
Iji MiNiFi
Isiokwu ọzọ ga-enyere aka dozie nsogbu a - MiNiFi C2 Server. Emebere ngwaahịa a ka ọ bụrụ ebe etiti n'ime nhazi ihe nrụpụta. Otu esi ahazi gburugburu - akọwara na
Nhọrọ a kọwara n'isiokwu dị n'elu na-arụ ọrụ ma ọ bụghị ihe siri ike ime, ma anyị agaghị echefu ihe ndị a:
- Minifi enweghị ihe nhazi niile sitere na nifi
- Ụdị nhazi Minifi na-ada azụ n'azụ ụdị nhazi NiFi.
N'oge edere, ụdị NiFi kachasị ọhụrụ bụ 1.9.2. Ụdị nhazi MiNiFi kacha ọhụrụ bụ 1.7.0. Enwere ike itinye ihe nhazi na MiNiFi, mana n'ihi ndakọrịta ụdị n'etiti ndị nhazi NiFi na MiNiFi, nke a nwere ike ọ gaghị arụ ọrụ.
NiFi CLI
Na-ekpe ikpe site na
Mwepụta akụrụngwa
./bin/cli.sh
_ ___ _
Apache (_) .' ..](_) ,
_ .--. __ _| |_ __ )
[ `.-. | [ |'-| |-'[ | /
| | | | | | | | | | ' '
[___||__][___][___] [___]', ,'
`'
CLI v1.9.2
Type 'help' to see a list of available commands, use tab to auto-complete.
Ka anyị nwee ike ibufe ihe achọrọ site na ndekọ ndekọ, anyị kwesịrị ịma ihe njirimara nke bọket (ihe nchọpụta ịwụ) na mmiri n'onwe ya (ihe nchọpụta eruba). Enwere ike nweta data a site na cli ma ọ bụ na interface weebụ ndekọ NiFi. Na interface weebụ ọ dị ka nke a:
Iji CLI mee nke a:
#> registry list-buckets -u http://nifi-registry:18080
# Name Id Description
- -------------- ------------------------------------ -----------
1 test_bucket 709d387a-9ce9-4535-8546-3621efe38e96 (empty)
#> registry list-flows -b 709d387a-9ce9-4535-8546-3621efe38e96 -u http://nifi-registry:18080
# Name Id Description
- ------------ ------------------------------------ -----------
1 test_flow d27af00a-5b47-4910-89cd-9c664cd91e85
Anyị na-amalite ibubata usoro site na ndekọ:
#> nifi pg-import -b 709d387a-9ce9-4535-8546-3621efe38e96 -f d27af00a-5b47-4910-89cd-9c664cd91e85 -fv 1 -u http://nifi:8080
7f522a13-016e-1000-e504-d5b15587f2f3
Otu ihe dị mkpa bụ na enwere ike ịkọwa ihe atụ nifi ọ bụla dị ka onye ọbịa nke anyị na-atụgharị otu usoro.
Otu usoro agbakwunyere na ndị nrụpụta kwụsịrị, ha kwesịrị ịmalite
#> nifi pg-start -pgid 7f522a13-016e-1000-e504-d5b15587f2f3 -u http://nifi:8080
Ọ dị mma, ndị nhazi amalitela. Agbanyeghị, dịka usoro nke ọrụ ahụ siri dị, anyị chọrọ oge NiFi iji zipu data na oge ndị ọzọ. Ka anyị were na ị họrọla usoro Push iji nyefee data na sava ahụ. Iji hazie mbufe data, ịkwesịrị ịme ka ịnyefe data na agbakwunyere Remote Process Group (RPG), nke etinyelarị na ọsọ anyị.
N'ime akwụkwọ dị na CLI na isi mmalite ndị ọzọ, ahụghị m ụzọ m ga-esi mee ka ịnyefe data. Ọ bụrụ na ị maara ka esi eme nke a, biko dee na nkọwa.
Ebe anyị nwere bash na anyị dị njikere ịga na njedebe, anyị ga-achọta ụzọ mgbapụ! Ị nwere ike iji NiFi API dozie nsogbu a. Ka anyị jiri usoro a, were ID ahụ site na ihe atụ ndị dị n'elu (n'ọnọdụ anyị ọ bụ 7f522a13-016e-1000-e504-d5b15587f2f3). Nkọwa nke ụzọ NiFi API
N'ime ahụ, ịkwesịrị ịgafe JSON, dị ka nke a:
{
"revision": {
"clientId": "value",
"version": 0,
"lastModifier": "value"
},
"state": "value",
"disconnectedNodeAcknowledged": true
}
Parameter kwesịrị imeju ka ọ rụọ ọrụ:
ala - ọnọdụ mbufe data. Dị: Mbugharị iji mee ka ịnyefe data nwee ike, Kwụsị gbanyụọ
version - processor ụdị
ụdị ga-adaba na 0 mgbe emepụtara ya, mana enwere ike nweta paramita ndị a site na iji usoro a
Maka ndị na-akwado scripts bash, usoro a nwere ike iyi ka ọ dabara adaba, mana ọ na-esiri m ike - scripts bash abụghị ọkacha mmasị m. Ụzọ na-esote bụ ihe na-adọrọ mmasị ma dị mma n'uche m.
NiPyAPI
NiPyAPI bụ ọba akwụkwọ Eke Ọgba maka imekọrịta ihe na oge NiFi.
Edemede anyị maka ịtụgharị nhazi ahụ bụ mmemme na Python. Ka anyị gaba na nzuzo.
Anyị na-ahazi nhazi maka ọrụ ọzọ. Anyị ga-achọ paramita ndị a:
nipyapi.config.nifi_config.host = 'http://nifi:8080/nifi-api' #путь до nifi-api инстанса, на котором разворачиваем process group
nipyapi.config.registry_config.host = 'http://nifi-registry:18080/nifi-registry-api' #путь до nifi-registry-api registry
nipyapi.config.registry_name = 'MyBeutifulRegistry' #название registry, как будет называться в инстансе nifi
nipyapi.config.bucket_name = 'BucketName' #название bucket, из которого подтягиваем flow
nipyapi.config.flow_name = 'FlowName' #название flow, которое подтягиваем
Na-esote m ga-etinye aha nke ụzọ nke ọba akwụkwọ a, nke a kọwara
Jikọọ ndekọ ahụ na ihe atụ nifi site na iji
nipyapi.versioning.create_registry_client
Na usoro a, ị nwekwara ike ịgbakwunye nlele na agbakwunyelarị ndekọ aha na ihe atụ; maka nke a ị nwere ike iji usoro a.
nipyapi.versioning.list_registry_clients
Anyị na-achọta ịwụ maka ịchọgharị ọzọ maka eruba na nkata
nipyapi.versioning.get_registry_bucket
Iji bọket achọtara, anyị na-achọ eruba
nipyapi.versioning.get_flow_in_bucket
Na-esote, ọ dị mkpa ịghọta ma agbakwunyela otu usoro a. A na-edobe otu usoro dịka nhazi na ọnọdụ nwere ike ibilite mgbe etinyere ihe nke abụọ n'elu otu. Achọpụtara m, nke a nwere ike ime :) Iji nweta otu usoro agbakwunyere anyị na-eji usoro a
nipyapi.canvas.list_all_process_groups
Anyị nwere ike ịchọ ọzọ, dịka ọmụmaatụ, n'aha.
Agaghị m akọwa usoro nke imelite template ahụ, m ga-ekwu naanị na ọ bụrụ na a na-agbakwunye ndị nhazi na ụdị ọhụrụ nke template ahụ, mgbe ahụ, ọ dịghị nsogbu ọ bụla na ọnụnọ nke ozi na queues. Mana ọ bụrụ na ewepụrụ ndị nrụpụta, mgbe ahụ nsogbu nwere ike ibilite (nifi anaghị ekwe ka iwepu ihe nrụpụta ma ọ bụrụ na kwụ n'ahịrị ozi agbakọbara n'ihu ya). Ọ bụrụ na ị nwere mmasị ka m si dozie nsogbu a, biko detara m akwụkwọ na anyị ga-ekwurịta okwu a. Kọntaktị na njedebe nke akụkọ. Ka anyị gaa n'ihu na nzọụkwụ nke ịgbakwunye otu usoro.
Mgbe m na-emezigharị edemede ahụ, ahụrụ m ihe dị iche iche na ọ bụghị mgbe niile ka a na-ebuli ụdị iyi kachasị ọhụrụ, yabụ ana m akwado ịlele ụdị a:
nipyapi.versioning.get_latest_flow_ver
Nyefee otu usoro:
nipyapi.versioning.deploy_flow_version
Anyị na-amalite ndị processors:
nipyapi.canvas.schedule_process_group
N'ime ngọngọ banyere CLI e dere na a naghị enyefefe data na-akpaghị aka n'ime otu usoro dịpụrụ adịpụ? Mgbe m na-emejuputa edemede ahụ, enwere m nsogbu a. N'oge ahụ, enweghị m ike ịmalite ịnyefe data site na iji API ma ekpebiri m idegara onye mmepụta nke ọbá akwụkwọ NiPyAPI akwụkwọ ma rịọ maka ndụmọdụ / enyemaka. Onye nrụpụta zara m, anyị kwurịtara nsogbu ahụ wee dee na ọ chọrọ oge iji "lelee ihe". Ma mgbe ahụ, ụbọchị ole na ole ka e mesịrị, akwụkwọ ozi rutere ebe edere ọrụ na Python nke na-edozi nsogbu mmalite m !!! N'oge ahụ, ụdị NiPyAPI bụ 0.13.3 na, n'ezie, ọ dịghị ihe dị otú ahụ. Mana na ụdị 0.14.0, nke ewepụtara na nso nso a, etinyelarị ọrụ a n'ọbá akwụkwọ. zute,
nipyapi.canvas.set_remote_process_group_transmission
Yabụ, n'iji ọbá akwụkwọ NiPyAPI, anyị jikọtara ndekọ ahụ, na-agbagharị agbagharị, na ọbụna malite ndị nhazi na ịnyefe data. Mgbe ahụ, ị nwere ike ịgbanye koodu ahụ, tinye ụdị nlele ọ bụla, ịdebanye aha, nke ahụ bụ ihe niile. Mana nke ahụ bụ akụkọ dị iche kpamkpam.
N'ime nhọrọ akpaaka m tụlere, nke ikpeazụ dị m ka ọ kacha arụ ọrụ nke ọma. Nke mbụ, nke a ka bụ koodu Python, nke ị nwere ike itinye koodu mmemme inyeaka wee nweta uru niile dị na asụsụ mmemme. Nke abuo, oru ngo NiPyAPI na-etowanye nke oma ma oburu na enwere nsogbu i nwere ike idegara onye nrụpụta akwụkwọ. Nke atọ, NiPyAPI ka bụ ngwa ọrụ na-agbanwe agbanwe maka iso NiFi na-emekọrịta ihe na idozi nsogbu ndị siri ike. Dịka ọmụmaatụ, n'ịchọpụta ma ahịrị ozi adịghị ugbu a na ntinye na ma enwere ike imelite otu usoro ahụ.
Ọ gwụla. Akọwara m ụzọ 3 iji rụọ ọrụ nnyefe ọsọ na NiFi, ọnyà onye nrụpụta nwere ike izute, wee nye koodu ọrụ maka nnyefe akpaaka. Ọ bụrụ na ị nwere mmasị na isiokwu a dịka m nwere -
isi: www.habr.com