ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

ఈ కథనం ఇంటర్‌సిస్టమ్స్ IRIS డేటా ప్లాట్‌ఫారమ్ కోసం ఓపెన్ సోర్స్ కమ్యూనిటీ ప్రాజెక్ట్ అయిన పైథాన్ గేట్‌వే గురించి. ఈ ప్రాజెక్ట్ పైథాన్‌లో సృష్టించబడిన ఏదైనా మెషీన్ లెర్నింగ్ అల్గారిథమ్‌లను ఆర్కెస్ట్రేట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది (చాలా మంది డేటా సైంటిస్టులకు ప్రధాన వాతావరణం), ఇంటర్‌సిస్టమ్స్ IRIS ప్లాట్‌ఫారమ్‌లో అనుకూల, రోబోటిక్ విశ్లేషణాత్మక AI / ML పరిష్కారాలను త్వరగా సృష్టించడానికి అనేక రెడీమేడ్ లైబ్రరీలను ఉపయోగించండి. ఈ కథనంలో, ఇంటర్‌సిస్టమ్స్ IRIS పైథాన్‌లో ప్రక్రియలను ఎలా ఆర్కెస్ట్రేట్ చేయగలదో, రెండు-మార్గం డేటాను సమర్థవంతంగా కమ్యూనికేట్ చేయగలదో మరియు తెలివైన వ్యాపార ప్రక్రియలను ఎలా సృష్టించగలదో నేను చూపుతాను.

ప్రణాళిక

  1. పరిచయం.
  2. ఉపకరణాలు.
  3. సంస్థాపన.
  4. API.
  5. పరస్పర చర్య.
  6. జూపిటర్ నోట్‌బుక్.
  7. కంక్లూజన్స్.
  8. లింకులు.
  9. MLToolkit.

పరిచయం

పైథాన్ అనేది డెవలపర్ ఉత్పాదకత మరియు కోడ్ రీడబిలిటీని మెరుగుపరచడానికి ఉద్దేశించిన ఉన్నత-స్థాయి, సాధారణ-ప్రయోజన ప్రోగ్రామింగ్ భాష. ఈ కథనాల శ్రేణిలో, నేను ఇంటర్‌సిస్టమ్స్ IRIS ప్లాట్‌ఫారమ్‌లో పైథాన్‌ను ఉపయోగించే అవకాశాలను చర్చిస్తాను, ఈ వ్యాసం యొక్క ప్రధాన దృష్టి యంత్ర అభ్యాస నమూనాలను రూపొందించడానికి మరియు అమలు చేయడానికి పైథాన్‌ను ఒక భాషగా ఉపయోగించడం.

మెషిన్ లెర్నింగ్ (ML) అనేది కృత్రిమ మేధస్సు పద్ధతుల యొక్క తరగతి, దీని లక్షణం సమస్య యొక్క ప్రత్యక్ష పరిష్కారం కాదు, అనేక సారూప్య సమస్యలను పరిష్కరించే ప్రక్రియలో నేర్చుకోవడం.

మెషిన్ లెర్నింగ్ అల్గారిథమ్‌లు మరియు మోడల్‌లు సర్వసాధారణం అవుతున్నాయి. దీనికి అనేక కారణాలు ఉన్నాయి, కానీ ఇవన్నీ ప్రాప్యత, సరళత మరియు ఆచరణాత్మక ఫలితాలను సాధించడంపై ఆధారపడి ఉంటాయి. క్లస్టరింగ్ లేదా న్యూరల్ నెట్‌వర్క్ మోడలింగ్ కూడా కొత్త టెక్నాలజీనా?

అయితే కాదు, కానీ ఈ రోజుల్లో ఒకే మోడల్‌ను అమలు చేయడానికి వందల వేల పంక్తుల కోడ్‌ను వ్రాయవలసిన అవసరం లేదు మరియు మోడల్‌లను సృష్టించడం మరియు ఉపయోగించడం కోసం ఖర్చు తగ్గుతోంది.

సాధనాలు అభివృద్ధి చెందుతున్నాయి - మేము పూర్తిగా GUI-కేంద్రీకృత AI/ML సాధనాలను కలిగి లేనప్పటికీ, BI (కోడ్ రాయడం నుండి ఫ్రేమ్‌వర్క్‌లు మరియు GUI-కేంద్రీకృత కాన్ఫిగరబుల్ సొల్యూషన్‌లను ఉపయోగించడం వరకు) వంటి అనేక ఇతర సమాచార వ్యవస్థలతో మనం సాధించిన పురోగతి AI/MLని సృష్టించే సాధనాల్లో కూడా గమనించబడింది. మేము ఇప్పటికే కోడ్ వ్రాసే దశను దాటాము మరియు ఈ రోజు మేము నమూనాలను రూపొందించడానికి మరియు శిక్షణ ఇవ్వడానికి ఫ్రేమ్‌వర్క్‌లను ఉపయోగిస్తాము.

తుది వినియోగదారు వారి నిర్దిష్ట డేటాపై మోడల్‌కు శిక్షణ ఇవ్వడం పూర్తి చేయాల్సిన ముందస్తు శిక్షణ పొందిన మోడల్‌ను పంపిణీ చేసే సామర్థ్యం వంటి ఇతర మెరుగుదలలు కూడా మెషిన్ లెర్నింగ్‌తో ప్రారంభించడాన్ని సులభతరం చేస్తాయి. ఈ పురోగతులు సాధారణంగా నిపుణులు మరియు కంపెనీలకు మెషిన్ లెర్నింగ్ నేర్చుకోవడం చాలా సులభతరం చేస్తాయి.

మరోవైపు, మేము మరింత డేటాను సేకరిస్తున్నాము. InterSystems IRIS వంటి ఏకీకృత డేటా ప్లాట్‌ఫారమ్‌తో, ఈ సమాచారం అంతా వెంటనే తయారు చేయబడుతుంది మరియు మెషిన్ లెర్నింగ్ మోడల్‌లకు ఇన్‌పుట్‌గా ఉపయోగించవచ్చు.

క్లౌడ్‌కు తరలింపుతో, AI/ML ప్రాజెక్ట్‌లను ప్రారంభించడం గతంలో కంటే సులభంగా మారుతోంది. మనకు అవసరమైన వనరులను మాత్రమే మనం వినియోగించుకోగలం. అంతేకాకుండా, క్లౌడ్ ప్లాట్‌ఫారమ్‌లు అందించే సమాంతరీకరణకు ధన్యవాదాలు, మేము గడిపిన సమయాన్ని ఆదా చేయవచ్చు.

కానీ ఫలితాల గురించి ఏమిటి? ఇక్కడే విషయాలు మరింత క్లిష్టంగా మారతాయి. నిర్మాణ నమూనాల కోసం అనేక ఉపకరణాలు ఉన్నాయి, నేను తదుపరి చర్చిస్తాను. మంచి మోడల్‌ను నిర్మించడం అంత సులభం కాదు, కానీ తర్వాత ఏమిటి? వ్యాపార నమూనాను ఉపయోగించడం ద్వారా లాభం పొందడం కూడా పనికిమాలిన పని. సమస్య యొక్క మూలం విశ్లేషణాత్మక మరియు లావాదేవీల పనిభారం మరియు డేటా నమూనాల విభజన. మేము మోడల్‌కు శిక్షణ ఇచ్చినప్పుడు, మేము సాధారణంగా దానిని చారిత్రక డేటాపై చేస్తాము. కానీ నిర్మించబడిన మోడల్‌కు స్థలం లావాదేవీ డేటా ప్రాసెసింగ్‌లో ఉంది. ఉత్తమ మోసపూరిత లావాదేవీ గుర్తింపు మోడల్‌ని మనం రోజుకు ఒకసారి అమలు చేస్తే ప్రయోజనం ఏమిటి? మోసగాళ్లు డబ్బుతో వెళ్లిపోయి చాలా కాలమైంది. మేము చారిత్రక డేటాపై మోడల్‌కు శిక్షణ ఇవ్వాలి, కానీ కొత్త ఇన్‌కమింగ్ డేటాపై కూడా మేము దానిని నిజ సమయంలో వర్తింపజేయాలి, తద్వారా మా వ్యాపార ప్రక్రియలు మోడల్ చేసిన అంచనాలపై పని చేయగలవు.

ML టూల్‌కిట్ అనేది దీన్ని లక్ష్యంగా చేసుకునే సాధనాల సమితి: ఏకీకృత నమూనాలు మరియు లావాదేవీల వాతావరణాన్ని కలిగి ఉంటుంది, తద్వారా బిల్ట్ మోడల్‌లు నేరుగా మీ వ్యాపార ప్రక్రియల్లో సులభంగా ఉపయోగించబడతాయి. పైథాన్ గేట్‌వే ML టూల్‌కిట్‌లో భాగం మరియు పైథాన్ లాంగ్వేజ్‌తో ఏకీకరణను అందిస్తుంది (ML టూల్‌కిట్‌లో భాగమైన R గేట్‌వే ఎలా R భాషతో ఏకీకరణను అందిస్తుంది).

టూల్స్

మేము కొనసాగించే ముందు, మేము తర్వాత ఉపయోగించే కొన్ని పైథాన్ సాధనాలు మరియు లైబ్రరీలను వివరించాలనుకుంటున్నాను.

టెక్నాలజీ

  • పైథాన్ అనేది అన్వయించబడిన, ఉన్నత-స్థాయి, సాధారణ-ప్రయోజన ప్రోగ్రామింగ్ భాష. భాష యొక్క ప్రధాన ప్రయోజనం గణిత, ML మరియు AI లైబ్రరీల యొక్క పెద్ద లైబ్రరీ. ఆబ్జెక్ట్‌స్క్రిప్ట్ లాగా, ఇది ఆబ్జెక్ట్-ఓరియెంటెడ్ లాంగ్వేజ్, అయితే ప్రతిదీ స్థిరంగా కాకుండా డైనమిక్‌గా నిర్వచించబడుతుంది. అలాగే ప్రతిదీ ఒక వస్తువు. తరువాతి వ్యాసాలు భాషతో పరిచయాన్ని కలిగి ఉంటాయి. మీరు నేర్చుకోవడం ప్రారంభించాలనుకుంటే, ప్రారంభించాలని నేను సిఫార్సు చేస్తున్నాను డాక్యుమెంటేషన్.
  • మా తదుపరి వ్యాయామాల కోసం, సెట్ చేయండి పైథాన్ 3.6.7 64 బిట్.
  • IDE: నేను ఉపయోగిస్తాను PyCharm, కానీ సాధారణంగా వారు много. మీరు Atelierని ఉపయోగిస్తే, పైథాన్ డెవలపర్‌ల కోసం ఎక్లిప్స్ ప్లగ్ఇన్ ఉంటుంది. మీరు VS కోడ్‌ని ఉపయోగిస్తుంటే, పైథాన్ కోసం పొడిగింపు ఉంది.
  • నోట్‌బుక్: IDEకి బదులుగా, మీరు ఆన్‌లైన్ నోట్‌బుక్‌లలో మీ స్క్రిప్ట్‌లను వ్రాయవచ్చు మరియు భాగస్వామ్యం చేయవచ్చు. వాటిలో అత్యంత ప్రాచుర్యం పొందినది బృహస్పతి.

గ్రంథాలయాలు

మెషిన్ లెర్నింగ్ లైబ్రరీల (సమగ్రం కాని) జాబితా ఇక్కడ ఉంది:

  • నంపి - ఖచ్చితమైన లెక్కల కోసం ఒక ప్రాథమిక ప్యాకేజీ.
  • పాండాలు — అధిక-పనితీరు గల డేటా నిర్మాణాలు మరియు డేటా విశ్లేషణ సాధనాలు.
  • మాట్‌ప్లోట్‌లిబ్ - గ్రాఫ్‌ల సృష్టి.
  • సీబోర్న్ - matplotlib ఆధారంగా డేటా విజువలైజేషన్.
  • స్క్లెర్న్ - యంత్ర అభ్యాస పద్ధతులు.
  • XGBboost - గ్రేడియంట్ బూస్టింగ్ మెథడాలజీ ఫ్రేమ్‌వర్క్‌లో మెషిన్ లెర్నింగ్ అల్గారిథమ్‌లు.
  • జెన్సిమ్ - NLP.
  • Keras - నరాల నెట్వర్క్.
  • టెన్సార్ఫ్లో - యంత్ర అభ్యాస నమూనాలను రూపొందించడానికి ఒక వేదిక.
  • పైటోర్చ్ పైథాన్‌పై దృష్టి కేంద్రీకరించిన మెషీన్ లెర్నింగ్ మోడల్‌లను రూపొందించడానికి ఒక వేదిక.
  • న్యోకా - వివిధ నమూనాల నుండి PMML.

AI/ML సాంకేతికతలు వ్యాపారాన్ని మరింత సమర్థవంతంగా మరియు అనుకూలించేలా చేస్తాయి. అంతేకాకుండా, నేడు ఈ సాంకేతికతలు అభివృద్ధి చేయడం మరియు అమలు చేయడం సులభం అవుతున్నాయి. AI/ML టెక్నాలజీల గురించి తెలుసుకోవడం ప్రారంభించండి మరియు అవి మీ సంస్థ వృద్ధికి ఎలా సహాయపడతాయి.

సెట్టింగ్

పైథాన్ గేట్‌వేని ఇన్‌స్టాల్ చేయడానికి మరియు ఉపయోగించడానికి అనేక మార్గాలు ఉన్నాయి:

  • ఆపరేటింగ్ సిస్టమ్
    • విండోస్
    • linux
    • మాక్
  • డాకర్
    • DockerHub నుండి చిత్రాన్ని ఉపయోగించండి
    • మీ స్వంత రూపాన్ని సృష్టించండి

ఇన్‌స్టాలేషన్ పద్ధతితో సంబంధం లేకుండా, మీకు సోర్స్ కోడ్ అవసరం. కోడ్‌ను డౌన్‌లోడ్ చేయడానికి ఏకైక స్థలం విడుదల పేజీ. ఇది పరీక్షించబడిన స్థిరమైన విడుదలలను కలిగి ఉంది, తాజాదాన్ని తీసుకోండి. ప్రస్తుతానికి ఇది 0.8, కానీ కాలక్రమేణా కొత్తవి ఉంటాయి. రిపోజిటరీని క్లోన్ చేయవద్దు/డౌన్‌లోడ్ చేయవద్దు, తాజా విడుదలను డౌన్‌లోడ్ చేయండి.

ఆపరేటింగ్ సిస్టమ్

మీరు ఆపరేటింగ్ సిస్టమ్‌లో పైథాన్ గేట్‌వేని ఇన్‌స్టాల్ చేస్తుంటే, ముందుగా (ఆపరేటింగ్ సిస్టమ్‌తో సంబంధం లేకుండా) మీరు పైథాన్‌ను ఇన్‌స్టాల్ చేయాలి. దీని కొరకు:

  1. పైథాన్ 3.6.7 64 బిట్‌ను ఇన్‌స్టాల్ చేయండి. డిఫాల్ట్ డైరెక్టరీలో పైథాన్‌ను ఇన్‌స్టాల్ చేయాలని సిఫార్సు చేయబడింది.
  2. మాడ్యూల్‌ను ఇన్‌స్టాల్ చేయండి dill: pip install dill.
  3. ఆబ్జెక్ట్‌స్క్రిప్ట్ కోడ్‌ను డౌన్‌లోడ్ చేయండి (అంటే. do $system.OBJ.ImportDir("C:InterSystemsReposPythoniscpy", "*.cls", "c",,1)) ఉత్పత్తులతో ఏదైనా ప్రాంతానికి. మీరు ఇప్పటికే ఉన్న ప్రాంతం ఉత్పత్తులకు మద్దతు ఇవ్వాలనుకుంటే, అమలు చేయండి: write ##class(%EnsembleMgr).EnableNamespace($Namespace, 1).
  4. స్థలం కాల్అవుట్ DLL/SO/DYLIB ఫోల్డర్‌కు bin మీ ఇంటర్‌సిస్టమ్స్ IRIS ఉదాహరణ. తిరిగి వచ్చే మార్గంలో లైబ్రరీ ఫైల్ తప్పనిసరిగా అందుబాటులో ఉండాలి write ##class(isc.py.Callout).GetLib().

విండోస్

  1. పర్యావరణం వేరియబుల్ అని నిర్ధారించుకోండి PYTHONHOME పైథాన్ 3.6.7కి పాయింట్లు.
  2. సిస్టమ్ ఎన్విరాన్మెంట్ వేరియబుల్ అని నిర్ధారించుకోండి PATH ఒక వేరియబుల్ కలిగి ఉంటుంది PYTHONHOME (లేదా అది సూచించే డైరెక్టరీ).

Linux (డెబియన్/ఉబుంటు)

  1. పర్యావరణ వేరియబుల్ ఉందో లేదో తనిఖీ చేయండి PATH ఇది కలిగి /usr/lib и /usr/lib/x86_64-linux-gnu. ఫైల్ ఉపయోగించండి /etc/environment ఎన్విరాన్మెంట్ వేరియబుల్స్ సెట్ చేయడానికి.
  2. లోపాల విషయంలో undefined symbol: _Py_TrueStruct సెట్టింగ్ సెట్ చేయండి PythonLib. కూడా మార్గదర్శక సమాచార ట్రబుల్షూటింగ్ విభాగం ఉంది.

మాక్

  1. ప్రస్తుతం పైథాన్ 3.6.7కి మాత్రమే మద్దతు ఉంది పైథాన్.ఆర్గ్. వేరియబుల్‌ని తనిఖీ చేయండి PATH.

మీరు ఎన్విరాన్మెంట్ వేరియబుల్స్‌ని మార్చినట్లయితే, మీ ఇంటర్‌సిస్టమ్స్ ఉత్పత్తిని పునఃప్రారంభించండి.

డాకర్

కంటైనర్లను ఉపయోగించడం వల్ల అనేక ప్రయోజనాలు ఉన్నాయి:

  • పోర్టబిలిటీ
  • ప్రభావం
  • ఇన్సులేషన్
  • తేలిక
  • మార్పులేనిది

దీన్ని తనిఖీ చేయండి వ్యాసాల శ్రేణి ఇంటర్‌సిస్టమ్స్ ఉత్పత్తులతో డాకర్‌ని ఉపయోగించడం గురించి మరింత సమాచారం కోసం.

అన్ని పైథాన్ గేట్‌వే బిల్డ్‌లు ప్రస్తుతం కంటైనర్ ఆధారితమైనవి 2019.4.

సిద్ధంగా ఉన్న చిత్రం

అమలు: docker run -d -p 52773:52773 --name irispy intersystemscommunity/irispy-community:latestఇంటర్‌సిస్టమ్స్ IRIS కమ్యూనిటీ ఎడిషన్‌తో పైథాన్ గేట్‌వేని డౌన్‌లోడ్ చేసి అమలు చేయడానికి. అంతే.

మీ స్వంత రూపాన్ని సృష్టించండి

డాకర్ చిత్రాన్ని రూపొందించడానికి, రిపోజిటరీ యొక్క రూట్‌లో అమలు చేయండి: docker build --force-rm --tag intersystemscommunity/irispy:latest ..
డిఫాల్ట్‌గా, చిత్రం చిత్రం ఆధారంగా నిర్మించబడింది store/intersystems/iris-community:2019.4.0.383.0, అయితే మీరు వేరియబుల్‌ని సెట్ చేయడం ద్వారా దీన్ని మార్చవచ్చు IMAGE.
InterSystems IRIS నుండి నిర్మించడానికి, అమలు చేయండి: `docker build --build-arg IMAGE=store/intersystems/iris:2019.4.0.383.0 --force-rm --tag intersystemscommunity/irispy:latest ".

దీని తర్వాత మీరు డాకర్ చిత్రాన్ని అమలు చేయవచ్చు:

docker run -d 
  -p 52773:52773 
  -v /<HOST-DIR-WITH-iris.key>/:/mount 
  --name irispy 
  intersystemscommunity/irispy:latest 
  --key /mount/iris.key

మీరు ఇంటర్‌సిస్టమ్స్ IRIS కమ్యూనిటీ ఎడిషన్ ఆధారంగా చిత్రాన్ని ఉపయోగిస్తుంటే, మీరు కీని వదిలివేయవచ్చు.

వ్యాఖ్యలు

  • పరీక్ష ప్రక్రియ isc.py.test.Process తాత్కాలిక డైరెక్టరీకి అనేక చిత్రాలను సేవ్ చేస్తుంది. మీరు ఈ మార్గాన్ని మౌంటెడ్ డైరెక్టరీకి మార్చాలనుకోవచ్చు. దీన్ని చేయడానికి, సెట్టింగ్‌ను సవరించండి WorkingDir మౌంటెడ్ డైరెక్టరీని పేర్కొంటోంది.
  • టెర్మినల్ రన్‌ను యాక్సెస్ చేయడానికి: docker exec -it irispy sh.
  • లాగిన్ ద్వారా సిస్టమ్ మేనేజ్‌మెంట్ పోర్టల్‌కు ప్రాప్యత SuperUser/SYS.
  • కంటైనర్‌ను ఆపడానికి, అమలు చేయండి: docker stop irispy && docker rm --force irispy.

సంస్థాపనను ధృవీకరిస్తోంది

మీరు పైథాన్ గేట్‌వేని ఇన్‌స్టాల్ చేసిన తర్వాత, అది పని చేస్తుందో లేదో తనిఖీ చేయడం విలువైనదే. ఇంటర్‌సిస్టమ్స్ IRIS టెర్మినల్‌లో ఈ కోడ్‌ని అమలు చేయండి:

set sc = ##class(isc.py.Callout).Setup() 
set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).
write var

ఫలితం ఇలా ఉండాలి: HELLO — పైథాన్ వేరియబుల్ విలువ x. తిరిగి స్థితి ఉంటే sc ఒక లోపం లేదా var ఖాళీ, తనిఖీ Readme - ట్రబుల్షూటింగ్ విభాగం.

API

పైథాన్ గేట్‌వే ఇన్‌స్టాల్ చేయబడింది మరియు అది పనిచేస్తుందని మీరు ధృవీకరించారు. దీన్ని ఉపయోగించడం ప్రారంభించడానికి ఇది సమయం!
పైథాన్‌కు ప్రధాన ఇంటర్‌ఫేస్ isc.py.Main. ఇది క్రింది పద్ధతుల సమూహాలను అందిస్తుంది (అన్ని రిటర్న్ %Status):

  • కోడ్ అమలు
  • డేటా బదిలీ
  • సహాయక

కోడ్ అమలు

ఈ పద్ధతులు ఏకపక్ష పైథాన్ కోడ్‌ని అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తాయి.

SimpleString

SimpleString - ఇది ప్రధాన పద్ధతి. దీనికి 4 ఐచ్ఛిక వాదనలు అవసరం:

  • code - అమలు చేయడానికి కోడ్ లైన్. లైన్ ఫీడ్ క్యారెక్టర్: $c(10).
  • returnVariable - తిరిగి రావాల్సిన వేరియబుల్ పేరు.
  • serialization - సీరియల్ ఎలా చేయాలి returnVariable. 0 — స్ట్రింగ్ (డిఫాల్ట్), 1 — repr.
  • result - విలువ వ్రాయబడిన వేరియబుల్‌కు ByRef సూచన returnVariable.

పైన మేము చేసాము:

set sc = ##class(isc.py.Main).SimpleString("x='HELLO'", "x", , .var).

ఈ ఉదాహరణలో, మేము పైథాన్ వేరియబుల్‌కు కేటాయిస్తాము x అంటే Hello మరియు పైథాన్ వేరియబుల్ విలువను తిరిగి ఇవ్వాలనుకుంటున్నాను x ఆబ్జెక్ట్‌స్క్రిప్ట్ వేరియబుల్‌కి var.

ఎగ్జిక్యూట్ కోడ్

ఎగ్జిక్యూట్‌కోడ్ సురక్షితమైన మరియు తక్కువ నిర్బంధ ప్రత్యామ్నాయం SimpleString.
InterSystems IRIS ప్లాట్‌ఫారమ్‌లోని లైన్‌లు 3 అక్షరాలకు పరిమితం చేయబడ్డాయి మరియు మీరు పొడవైన కోడ్‌ను అమలు చేయాలనుకుంటే, మీరు థ్రెడ్‌లను ఉపయోగించాలి.
రెండు వాదనలు ఆమోదించబడ్డాయి:

  • code - అమలు చేయవలసిన పైథాన్ కోడ్ యొక్క లైన్ లేదా స్ట్రీమ్.
  • variable - (ఐచ్ఛికం) అమలు ఫలితాన్ని కేటాయిస్తుంది code ఈ పైథాన్ వేరియబుల్.

ఉపయోగించడానికి ఉదాహరణ:

set sc = ##class(isc.py.Main).ExecuteCode("2*3", "y").

ఈ ఉదాహరణలో, మనం 2ని 3తో గుణించి, ఫలితాన్ని పైథాన్ వేరియబుల్‌కి వ్రాస్తాము y.

డేటా బదిలీ

పైథాన్‌కు మరియు దాని నుండి డేటాను పాస్ చేయండి.

పైథాన్ -> ఇంటర్ సిస్టమ్స్ IRIS

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ వేరియబుల్ విలువను పొందడానికి 4 మార్గాలు ఉన్నాయి, మీకు అవసరమైన సీరియలైజేషన్ ఆధారంగా:

  • String సాధారణ డేటా రకాలు మరియు డీబగ్గింగ్ కోసం.
  • Repr సాధారణ వస్తువులను నిల్వ చేయడానికి మరియు డీబగ్గింగ్ చేయడానికి.
  • JSON ఇంటర్‌సిస్టమ్స్ IRIS వైపు సులభంగా డేటా మానిప్యులేషన్ కోసం.
  • Pickle వస్తువులను సేవ్ చేయడానికి.

ఈ పద్ధతులు పైథాన్ నుండి వేరియబుల్స్‌ను స్ట్రింగ్ లేదా స్ట్రీమ్‌లుగా తిరిగి పొందేందుకు మిమ్మల్ని అనుమతిస్తాయి.

  • GetVariable(variable, serialization, .stream, useString) - పొందండి serialization వేరియబుల్ variable в stream. ఉంటే useString 1 మరియు సీరియలైజేషన్ స్ట్రింగ్‌పై ఉంచబడుతుంది, ఆపై స్ట్రింగ్ తిరిగి ఇవ్వబడుతుంది మరియు స్ట్రీమ్ కాదు.
  • GetVariableJson(variable, .stream, useString) — వేరియబుల్ యొక్క JSON సీరియలైజేషన్ పొందండి.
  • GetVariablePickle(variable, .stream, useString, useDill) -వేరియబుల్ యొక్క పికిల్ (లేదా మెంతులు) సీరియలైజేషన్ పొందండి.

మన వేరియబుల్‌ని పొందడానికి ప్రయత్నిద్దాం y.

set sc = ##class(isc.py.Main).GetVariable("y", , .val, 1)
write val
>6

ఇంటర్ సిస్టమ్స్ IRIS -> పైథాన్

ఇంటర్‌సిస్టమ్స్ IRIS నుండి పైథాన్‌లోకి డేటాను లోడ్ చేస్తోంది.

  • ExecuteQuery(query, variable, type, namespace) - డేటాసెట్‌ను సృష్టిస్తుంది (పాండాలు dataframe లేదా list) sql ప్రశ్న నుండి మరియు దానిని పైథాన్ వేరియబుల్‌కు సెట్ చేస్తుంది variable. ప్లాస్టిక్ సంచి isc.py ప్రాంతంలో అందుబాటులో ఉండాలి namespace - అభ్యర్థన అక్కడ అమలు చేయబడుతుంది.
  • ExecuteGlobal(global, variable, type, start, end, mask, labels, namespace) - గ్లోబల్ డేటాను లోడ్ చేస్తుంది global సబ్‌స్క్రిప్ట్ నుండి start కు end పైథాన్‌లో టైప్ వేరియబుల్‌గా ఉంటుంది type: list, లేదా పాండాలు dataframe. ఐచ్ఛిక వాదనల వివరణ mask మరియు labels తరగతి డాక్యుమెంటేషన్ మరియు రిపోజిటరీలో అందుబాటులో ఉంది డేటా బదిలీ డాక్స్.
  • ExecuteClass(class, variable, type, start, end, properties, namespace) - తరగతి డేటాను లోడ్ చేస్తుంది class id నుండి start కు end పైథాన్‌లో టైప్ వేరియబుల్‌గా ఉంటుంది type: list, లేదా పాండాలు dataframe. properties — డేటా సెట్‌లో లోడ్ చేయాల్సిన తరగతి లక్షణాల జాబితా (కామాతో వేరు చేయబడింది). ముసుగులు మద్దతు * и ?. డిఫాల్ట్ - * (అన్ని లక్షణాలు). ఆస్తి %%CLASSNAME పట్టించుకోలేదు.
  • ExecuteTable(table, variable, type, start, end, properties, namespace) - టేబుల్ డేటాను లోడ్ చేస్తుంది table id నుండి start కు end పైథాన్‌లో.

ExecuteQuery — యూనివర్సల్ (ఏదైనా సరైన SQL ప్రశ్న పైథాన్‌కు పంపబడుతుంది). అయితే, ExecuteGlobal మరియు దాని రేపర్లు ExecuteClass и ExecuteTable అనేక పరిమితులతో పని చేయండి. అవి చాలా వేగంగా ఉంటాయి (ODBC డ్రైవర్ కంటే 3-5 రెట్లు వేగంగా మరియు 20 రెట్లు వేగంగా ఉంటాయి ExecuteQuery) మరింత సమాచారం వద్ద డేటా బదిలీ డాక్స్.
ఈ పద్ధతులన్నీ ఏ ప్రాంతం నుండి అయినా డేటా బదిలీకి మద్దతు ఇస్తాయి. ప్లాస్టిక్ సంచి isc.py లక్ష్య ప్రాంతంలో తప్పనిసరిగా అందుబాటులో ఉండాలి.

ఎగ్జిక్యూట్ క్వెరీ

ExecuteQuery(request, variable, type, namespace) — ఏదైనా సరైన SQL ప్రశ్న ఫలితాలను పైథాన్‌కి బదిలీ చేయడం. ఇది నెమ్మదిగా డేటా బదిలీ పద్ధతి. ఉంటే దాన్ని ఉపయోగించండి ExecuteGlobal మరియు దాని రేపర్లు అందుబాటులో లేవు.

వాదనలు:

  • query - sql ప్రశ్న.
  • variable — డేటా వ్రాయబడిన పైథాన్ వేరియబుల్ పేరు.
  • type - list లేదా పాండాలు dataframe.
  • namespace - అభ్యర్థన అమలు చేయబడే ప్రాంతం.

ఎగ్జిక్యూట్ గ్లోబల్

ExecuteGlobal(global, variable, type, start, end, mask, labelels, namespace) - పైథాన్‌లో గ్లోబల్ పాసింగ్.

వాదనలు:

  • global - లేకుండా ప్రపంచ పేరు ^
  • variable — డేటా వ్రాయబడిన పైథాన్ వేరియబుల్ పేరు.
  • type - list లేదా పాండాలు dataframe.
  • start - గ్లోబల్ యొక్క మొదటి సబ్‌స్క్రిప్ట్. తప్పనిసరిగా %Integer.
  • end - గ్లోబల్ యొక్క చివరి సబ్‌స్క్రిప్ట్. తప్పనిసరిగా %Integer.
  • mask - ప్రపంచ విలువ ముసుగు. మాస్క్ గ్లోబల్‌లోని ఫీల్డ్‌ల సంఖ్య కంటే తక్కువగా ఉండవచ్చు (ఇటువంటి సందర్భంలో చివర ఉన్న ఫీల్డ్‌లు దాటవేయబడతాయి). ముసుగును ఎలా ఫార్మాట్ చేయాలి:
    • + విలువను అలాగే పాస్ చేయండి.
    • - విలువను దాటవేయి.
    • b - బూలియన్ రకం (0 - False, తక్కినవన్నీ - True).
    • d — తేదీ ($ horolog నుండి, Windowsలో 1970 నుండి, Linuxలో 1900 నుండి).
    • t — సమయం ($ horolog, అర్ధరాత్రి తర్వాత సెకన్లు).
    • m — టైమ్‌స్టాంప్ (ఫార్మాట్ స్ట్రింగ్ సంవత్సరం-నెల-రోజు HOUR:MINUTE:SECOND).
  • labels — %కాలమ్ పేర్ల జాబితా. మొదటి మూలకం సబ్‌స్క్రిప్ట్ పేరు.
  • namespace - అభ్యర్థన అమలు చేయబడే ప్రాంతం.

ఎగ్జిక్యూట్ క్లాస్

పైగా చుట్టండి ExecuteGlobal. తరగతి నిర్వచనం ఆధారంగా, కాల్‌ను సిద్ధం చేస్తుంది ExecuteGlobal మరియు అతనిని పిలుస్తుంది.

ExecuteClass(class, variable, type, start, end, properties, namespace) - పైథాన్‌లో తరగతి డేటాను పాస్ చేయడం.

వాదనలు:

  • class - తరగతి పేరు
  • variable — డేటా వ్రాయబడిన పైథాన్ వేరియబుల్ పేరు.
  • type - list లేదా పాండాలు dataframe.
  • start - ప్రారంభ ID.
  • end - చివరి ఐడి
  • properties — డేటా సెట్‌లో లోడ్ చేయాల్సిన తరగతి లక్షణాల జాబితా (కామాతో వేరు చేయబడింది). ముసుగులు మద్దతు * и ?. డిఫాల్ట్ - * (అన్ని లక్షణాలు). ఆస్తి %%CLASSNAME పట్టించుకోలేదు.
  • namespace - అభ్యర్థన అమలు చేయబడే ప్రాంతం.

టైప్ ప్రాపర్టీస్ మినహా అన్ని ప్రాపర్టీస్ అలాగే పాస్ చేయబడ్డాయి %Date, %Time, %Boolean и %TimeStamp - అవి సంబంధిత పైథాన్ తరగతులుగా మార్చబడతాయి.

ఎగ్జిక్యూట్ టేబుల్

పైగా చుట్టండి ExecuteClass. పట్టిక పేరును తరగతి పేరు మరియు కాల్‌లుగా అనువదిస్తుంది ExecuteClass. సంతకం:

ExecuteTable(table, variable, type, start, end, properties, namespace) - టేబుల్ డేటాను పైథాన్‌కి పంపడం.

వాదనలు:

  • table - పట్టిక పేరు.
    అన్ని ఇతర వాదనలు యథాతథంగా ఆమోదించబడ్డాయి ExecuteClass.

వ్యాఖ్యలు

  • ExecuteGlobal, ExecuteClass и ExecuteTable సమానంగా వేగంగా పని చేయండి.
  • ExecuteGlobal కంటే 20 రెట్లు వేగంగా ExecuteQuery పెద్ద డేటా సెట్లలో (బదిలీ సమయం >0.01 సెకన్లు).
  • ExecuteGlobal, ExecuteClass и ExecuteTable ఈ నిర్మాణంతో గ్లోబల్స్‌లో పని చేయండి: ^global(key) = $lb(prop1, prop2, ..., propN) పేరు key - ఒక పూర్ణాంకం.
  • కోసం ExecuteGlobal, ExecuteClass и ExecuteTable మద్దతు గల విలువల పరిధి %Date పరిధికి అనుగుణంగా ఉంటుంది mktime మరియు OS పై ఆధారపడి ఉంటుంది (విండోస్: 1970-01-01, linux 1900-01-01, Mac) వా డు %TimeStampఈ పరిధి వెలుపల డేటాను బదిలీ చేయడానికి లేదా పాండాస్ డేటాఫ్రేమ్‌ని ఉపయోగించండి ఇది జాబితా-మాత్రమే పరిమితి.
  • కోసం ExecuteGlobal, ExecuteClass и ExecuteTable డేటా మూలం (గ్లోబల్, క్లాస్ లేదా టేబుల్) మరియు వేరియబుల్ మినహా అన్ని ఆర్గ్యుమెంట్‌లు ఐచ్ఛికం.

ఉదాహరణలు

పరీక్ష తరగతి isc.py.test.వ్యక్తి అన్ని డేటా బదిలీ ఎంపికలను ప్రదర్శించే పద్ధతిని కలిగి ఉంది:

set global = "isc.py.test.PersonD"
set class = "isc.py.test.Person"
set table = "isc_py_test.Person"
set query = "SELECT * FROM isc_py_test.Person"

// Общие аргументы
set variable = "df"
set type = "dataframe"
set start = 1
set end = $g(^isc.py.test.PersonD, start)

// Способ 0: ExecuteGlobal без аргументов
set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 0, type)

// Способ 1: ExecuteGlobal с аргументами    
// При передаче глобала названия полей задаются вручную
// globalKey - название сабсткрипта 
set labels = $lb("globalKey", "Name", "DOB", "TS", "RandomTime", "AgeYears", "AgeDecimal", "AgeDouble", "Bool")

// mask содержит на 1 элемент меньше чем labels потому что "globalKey" - название сабскипта
// Пропускаем %%CLASSNAME
set mask = "-+dmt+++b"

set sc = ##class(isc.py.Main).ExecuteGlobal(global, variable _ 1, type, start, end, mask, labels)

// Способ 2: ExecuteClass
set sc = ##class(isc.py.Main).ExecuteClass(class, variable _ 2, type, start, end)

// Способ 3: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteTable(table, variable _ 3, type, start, end)

// Способ 4: ExecuteTable
set sc = ##class(isc.py.Main).ExecuteQuery(query, variable _ 4, type)

పద్ధతిని కాల్ చేయండి do ##class(isc.py.test.Person).Test() అన్ని డేటా బదిలీ పద్ధతులు ఎలా పని చేస్తాయో చూడటానికి.

సహాయక పద్ధతులు

  • GetVariableInfo(variable, serialization, .defined, .type, .length) — వేరియబుల్ గురించి సమాచారాన్ని పొందండి: అది నిర్వచించబడిందా, దాని తరగతి మరియు సీరియలైజేషన్ పొడవు.
  • GetVariableDefined(variable, .defined) - వేరియబుల్ నిర్వచించబడిందా.
  • GetVariableType(variable, .type) - వేరియబుల్ యొక్క తరగతిని పొందండి.
  • GetStatus() - పైథాన్ వైపు చివరి మినహాయింపు పొందండి మరియు తీసివేయండి.
  • GetModuleInfo(module, .imported, .alias) - మాడ్యూల్ వేరియబుల్ మరియు దిగుమతి స్థితిని పొందండి.
  • GetFunctionInfo(function, .defined, .type, .docs, .signature, .arguments) - ఫంక్షన్ గురించి సమాచారాన్ని పొందండి.

పరస్పర చర్య

మీరు టెర్మినల్ నుండి పైథాన్ గేట్‌వేని ఎలా కాల్ చేయాలో నేర్చుకున్నారు, ఇప్పుడు దానిని ఉత్పత్తిలో ఉపయోగించడం ప్రారంభిద్దాం. ఈ మోడ్‌లో పైథాన్‌తో పరస్పర చర్య చేయడానికి ఆధారం isc.py.ens.Operation. ఇది మాకు అనుమతిస్తుంది:

  • పైథాన్‌లో కోడ్‌ని అమలు చేయండి
  • పైథాన్ సందర్భాన్ని సేవ్ చేయండి/పునరుద్ధరించండి
  • పైథాన్ నుండి డేటాను లోడ్ చేయండి మరియు స్వీకరించండి

ప్రాథమికంగా, పైథాన్ ఆపరేషన్ ఒక రేపర్ ఓవర్ isc.py.Main. ఆపరేషన్ isc.py.ens.Operation InterSystems IRIS ఉత్పత్తుల నుండి పైథాన్ ప్రక్రియతో పరస్పర చర్య చేసే సామర్థ్యాన్ని అందిస్తుంది. ఐదు ప్రశ్నలకు మద్దతు ఉంది:

  • isc.py.msg.ExecutionRequest పైథాన్ కోడ్‌ని అమలు చేయడానికి. తిరిగి వస్తుంది isc.py.msg.ExecutionResponse అమలు ఫలితం మరియు అభ్యర్థించిన వేరియబుల్స్ విలువలతో.
  • isc.py.msg.StreamExecutionRequest పైథాన్ కోడ్‌ని అమలు చేయడానికి. తిరిగి వస్తుంది isc.py.msg.StreamExecutionResponse అమలు యొక్క ఫలితం మరియు అభ్యర్థించిన వేరియబుల్స్ యొక్క విలువలు. అనలాగ్ isc.py.msg.ExecutionRequest, కానీ స్ట్రింగ్‌లకు బదులుగా స్ట్రీమ్‌లను అంగీకరిస్తుంది మరియు తిరిగి ఇస్తుంది.
  • isc.py.msg.QueryRequest SQL ప్రశ్నను అమలు చేయడం ద్వారా ఫలితాన్ని ప్రసారం చేయడానికి. తిరిగి వస్తుంది Ens.Response.
  • isc.py.msg.GlobalRequest/isc.py.msg.ClassRequest/isc.py.msg.TableRequest గ్లోబల్/క్లాస్/టేబుల్ డేటాను పాస్ చేయడం కోసం. తిరిగి వస్తుంది Ens.Response.
  • isc.py.msg.SaveRequest పైథాన్ సందర్భాన్ని సేవ్ చేయడానికి. తిరిగి వస్తుంది Ens.StringResponse సందర్భం IDతో.
  • isc.py.msg.RestoreRequest పైథాన్ సందర్భాన్ని పునరుద్ధరించడానికి.

    అదనంగా, isc.py.ens.Operation రెండు సెట్టింగులు ఉన్నాయి:

    • Initializer — ఇంటర్‌ఫేస్‌ను అమలు చేసే తరగతిని ఎంచుకోవడం isc.py.init.Abstract. ఇది విధులు, మాడ్యూల్స్, తరగతులు మొదలైనవాటిని లోడ్ చేయడానికి ఉపయోగించవచ్చు. ప్రక్రియ ప్రారంభమైనప్పుడు ఇది ఒకసారి అమలు చేయబడుతుంది.
    • PythonLib - (Linux మాత్రమే) మీరు లోడ్ చేస్తున్నప్పుడు లోపాలు కనిపిస్తే, దాని విలువను సెట్ చేయండి libpython3.6m.so లేదా పైథాన్ లైబ్రరీకి పూర్తి మార్గంలో కూడా.

వ్యాపార ప్రక్రియల సృష్టి

వ్యాపార ప్రక్రియల అభివృద్ధిని సులభతరం చేసే రెండు తరగతులు అందుబాటులో ఉన్నాయి:

  • isc.py.ens.ProcessUtils వేరియబుల్ ప్రత్యామ్నాయంతో కార్యకలాపాల నుండి ఉల్లేఖనాలను సేకరించేందుకు మిమ్మల్ని అనుమతిస్తుంది.
  • isc.py.util.BPEmulator పైథాన్‌తో వ్యాపార ప్రక్రియలను పరీక్షించడాన్ని సులభతరం చేస్తుంది. ఇది ప్రస్తుత ప్రక్రియలో వ్యాపార ప్రక్రియను (పైథాన్ భాగాలు) అమలు చేయగలదు.

వేరియబుల్ ప్రత్యామ్నాయం

అన్ని వ్యాపార ప్రక్రియలు వారసత్వంగా పొందబడ్డాయి isc.py.ens.ProcessUtils, పద్ధతిని ఉపయోగించవచ్చు GetAnnotation(name) కార్యాచరణ ఉల్లేఖన విలువను దాని పేరుతో పొందడానికి. కార్యాచరణ ఉల్లేఖనం పైథాన్‌కు పంపబడటానికి ముందు ఇంటర్‌సిస్టమ్స్ IRIS వైపు లెక్కించబడే వేరియబుల్‌లను కలిగి ఉంటుంది. వేరియబుల్ ప్రత్యామ్నాయం కోసం సింటాక్స్ ఇక్కడ ఉంది:

  • ${class:method:arg1:...:argN} - పద్ధతి కాల్
  • #{expr} - ఆబ్జెక్ట్‌స్క్రిప్ట్ భాషలో కోడ్‌ని అమలు చేయండి.

పరీక్ష వ్యాపార ప్రక్రియలో ఒక ఉదాహరణ అందుబాటులో ఉంది isc.py.test.Process, ఉదాహరణకు, కార్యాచరణలో Correlation Matrix: Graph: f.savefig(r'#{process.WorkDirectory}SHOWCASE${%PopulateUtils:Integer:1:100}.png'). ఈ ఉదాహరణలో:

  • #{process.WorkDirectory} వస్తువు యొక్క వర్క్‌డైరెక్టరీ ప్రాపర్టీని అందిస్తుంది process, ఇది తరగతికి ఒక ఉదాహరణ isc.py.test.Process ఆ. ప్రస్తుత వ్యాపార ప్రక్రియ.
  • ${%PopulateUtils:Integer:1:100} ఒక పద్ధతిని పిలుస్తుంది Integer తరగతి %PopulateUtils, పాసింగ్ వాదనలు 1 и 100, పరిధిలో యాదృచ్ఛిక పూర్ణాంకం తిరిగి వస్తుంది 1...100.

వ్యాపార ప్రక్రియను పరీక్షించండి

పైథాన్ గేట్‌వేలో భాగంగా పరీక్ష ఉత్పత్తులు మరియు పరీక్ష వ్యాపార ప్రక్రియలు డిఫాల్ట్‌గా అందుబాటులో ఉంటాయి. వాటిని ఉపయోగించడానికి:

  1. OS టెర్మినల్‌లో, అమలు చేయండి: pip install pandas matplotlib seaborn.
  2. ఇంటర్‌సిస్టమ్స్ IRIS టెర్మినల్‌లో, అమలు చేయండి: do ##class(isc.py.test.CannibalizationData).Import() పరీక్ష డేటాను పూరించడానికి.
  3. ఉత్పత్తులను ప్రారంభించండి isc.py.test.Production.
  4. అభ్యర్థన రకం పంపండి Ens.Request в isc.py.test.Process.

ఇవన్నీ కలిసి ఎలా పనిచేస్తాయో చూద్దాం. తెరవండి isc.py.test.Process BPL ఎడిటర్‌లో:

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

కోడ్ అమలు

పైథాన్ కోడ్‌ని అమలు చేయడం చాలా ముఖ్యమైన సవాలు:

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

ప్రశ్న ఉపయోగించబడింది isc.py.msg.ExecutionRequest, ఇక్కడ దాని లక్షణాలు ఉన్నాయి:

  • Code - పైథాన్ కోడ్.
  • SeparateLines - అమలు కోసం కోడ్‌ను పంక్తులుగా విభజించాలా వద్దా. $c(10) (n) తీగలను వేరు చేయడానికి ఉపయోగించబడుతుంది. మొత్తం సందేశాన్ని ఒకేసారి ప్రాసెస్ చేయడం సిఫార్సు చేయబడదని దయచేసి గమనించండి, ఈ ఫంక్షన్ ప్రాసెస్ చేయడానికి మాత్రమే ఉద్దేశించబడింది def మరియు సారూప్య మల్టీలైన్ వ్యక్తీకరణలు. డిఫాల్ట్ 0.
  • Variables — ప్రతిస్పందనకు జోడించబడే వేరియబుల్స్ యొక్క కామాతో వేరు చేయబడిన జాబితా.
  • Serialization — మనం తిరిగి ఇవ్వాలనుకునే వేరియబుల్స్‌ను ఎలా సీరియల్‌గా మార్చాలి. ఎంపికలు: Str, Repr, JSON, Pickle и Dill, డిఫాల్ట్ Str.

మా విషయంలో, మేము ఆస్తిని మాత్రమే సెట్ చేస్తాము Code, కాబట్టి అన్ని ఇతర లక్షణాలు డిఫాల్ట్ విలువలను ఉపయోగిస్తాయి. మేము కాల్ చేయడం ద్వారా సెట్ చేసాము process.GetAnnotation("Import pandas"), ఇది రన్‌టైమ్‌లో వేరియబుల్ ప్రత్యామ్నాయం చేసిన తర్వాత ఉల్లేఖనాన్ని అందిస్తుంది. అన్ని తరువాత, కోడ్ import pandas as pd పైథాన్‌కి పంపబడుతుంది. GetAnnotation బహుళ-లైన్ పైథాన్ స్క్రిప్ట్‌లను పొందడం కోసం ఉపయోగకరంగా ఉండవచ్చు, కానీ కోడ్‌ని పొందే ఈ పద్ధతిపై ఎటువంటి పరిమితులు లేవు. మీరు ఆస్తిని సెట్ చేయవచ్చు Code మీకు అనుకూలమైన ఏ విధంగానైనా.

వేరియబుల్స్ పొందడం

ఉపయోగించి మరొక ఆసక్తికరమైన సవాలు isc.py.msg.ExecutionRequest - Correlation Matrix: Tabular:

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

ఇది పైథాన్ వైపు సహసంబంధ మాతృకను గణిస్తుంది మరియు వేరియబుల్‌ను సంగ్రహిస్తుంది corrmat అభ్యర్థన లక్షణాలను సెట్ చేయడం ద్వారా JSON ఆకృతిలో InterSystems IRISకి తిరిగి వెళ్లండి:

  • Variables: "corrmat"
  • Serialization: "JSON"

మేము విజువల్ ట్రేస్‌లో ఫలితాలను చూడవచ్చు:

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

మరియు మనకు BPలో ఈ విలువ అవసరమైతే, మనం దానిని ఇలా పొందవచ్చు: callresponse.Variables.GetAt("corrmat").

డేటా బదిలీ

తరువాత, ఇంటర్‌సిస్టమ్స్ IRIS నుండి పైథాన్‌కు డేటాను బదిలీ చేయడం గురించి మాట్లాడుదాం; డేటా బదిలీ కోసం అన్ని అభ్యర్థనలు ఇంటర్‌ఫేస్‌ను అమలు చేస్తాయి isc.py.msg.DataRequestఇది క్రింది లక్షణాలను అందిస్తుంది:

  • Variable — డేటా వ్రాయబడిన పైథాన్ వేరియబుల్.
  • Type - వేరియబుల్ రకం: dataframe (పాండాస్ డేటాఫ్రేమ్) లేదా list.
  • Namespace — మేము డేటాను స్వీకరించే ప్రాంతం. ప్లాస్టిక్ సంచి isc.py ఈ ప్రాంతంలో అందుబాటులో ఉండాలి. ఇది ఉత్పత్తి మద్దతు లేని ప్రాంతం కావచ్చు.

ఈ ఇంటర్‌ఫేస్ ఆధారంగా, 4 తరగతుల అభ్యర్థనలు అమలు చేయబడతాయి:

  • isc.py.msg.QueryRequest - ఆస్తిని సెట్ చేయండి Query SQL ప్రశ్నను పంపడానికి.
  • isc.py.msg.ClassRequest - ఆస్తిని సెట్ చేయండి Class తరగతి డేటాను పాస్ చేయడానికి.
  • isc.py.msg.TableRequest - ఆస్తిని సెట్ చేయండి Table పట్టిక డేటాను బదిలీ చేయడానికి.
  • isc.py.msg.GlobalRequest - ఆస్తిని సెట్ చేయండి Global ప్రపంచ డేటా బదిలీ కోసం.

పరీక్ష ప్రక్రియలో, కార్యాచరణను చూడండి RAWపేరు isc.py.msg.QueryRequest చర్యలో చూపబడింది.

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

పైథాన్ సందర్భాన్ని సేవ్ చేస్తోంది/పునరుద్ధరిస్తోంది

చివరగా, మేము ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ సందర్భాన్ని సేవ్ చేయవచ్చు, దీన్ని చేయడానికి మేము పంపుతాము isc.py.msg.SaveRequest వాదనలతో:

  • Mask — మాస్క్‌తో సరిపోలే వేరియబుల్స్ మాత్రమే సేవ్ చేయబడతాయి. మద్దతు ఇచ్చారు * и ?. ఉదాహరణ: "Data*, Figure?". డిఫాల్ట్ *.
  • MaxLength - నిల్వ చేయబడిన వేరియబుల్ యొక్క గరిష్ట పొడవు. వేరియబుల్ యొక్క సీరియలైజేషన్ పొడవుగా ఉంటే, అది విస్మరించబడుతుంది. ఏదైనా పొడవు యొక్క వేరియబుల్‌లను పొందడానికి 0కి సెట్ చేయండి. డిఫాల్ట్ $$$MaxStringLength.
  • Name - సందర్భం పేరు (ఐచ్ఛికం).
  • Description - సందర్భం యొక్క వివరణ (ఐచ్ఛికం).

రిటర్న్స్ Ens.StringResponse с Id సేవ్ చేసిన సందర్భం. పరీక్ష ప్రక్రియలో, కార్యాచరణను చూడండి Save Context.

సంబంధిత అభ్యర్థన isc.py.msg.RestoreRequest ఇంటర్‌సిస్టమ్స్ IRIS నుండి పైథాన్‌లోకి సందర్భాన్ని లోడ్ చేస్తుంది:

  • ContextId - సందర్భ ఐడెంటిఫైయర్.
  • Clear - పునరుద్ధరించడానికి ముందు సందర్భాన్ని క్లియర్ చేయండి.

జూపిటర్ నోట్బుక్

జూపిటర్ నోట్బుక్ కోడ్, విజువలైజేషన్లు మరియు టెక్స్ట్ కలిగి ఉన్న నోట్‌బుక్‌లను సృష్టించడానికి మరియు ప్రచురించడానికి మిమ్మల్ని అనుమతించే ఓపెన్ సోర్స్ వెబ్ అప్లికేషన్. BPL ప్రక్రియలను జూపిటర్ నోట్‌బుక్ రూపంలో వీక్షించడానికి మరియు సవరించడానికి పైథాన్ గేట్‌వే మిమ్మల్ని అనుమతిస్తుంది. సాధారణ పైథాన్ 3 ఎగ్జిక్యూటర్ ప్రస్తుతం ఉపయోగించబడుతుందని దయచేసి గమనించండి.

ఈ పొడిగింపు ఉల్లేఖనాలు పైథాన్ కోడ్‌ని కలిగి ఉన్నాయని మరియు కార్యాచరణ పేర్లను మునుపటి శీర్షికలుగా ఉపయోగిస్తుందని ఊహిస్తుంది. ఇప్పుడు జూపిటర్ నోట్‌బుక్‌లో పైథాన్‌గేట్‌వే వ్యాపార ప్రక్రియలను అభివృద్ధి చేయడం సాధ్యపడుతుంది. సాధ్యమయ్యేవి ఇక్కడ ఉన్నాయి:

  • కొత్త వ్యాపార ప్రక్రియలను సృష్టించండి
  • వ్యాపార ప్రక్రియలను తొలగించండి
  • కొత్త కార్యకలాపాలను సృష్టించండి
  • కార్యకలాపాలను మార్చండి
  • కార్యకలాపాలను తొలగించండి

ఇక్కడ డెమో వీడియో. మరియు కొన్ని స్క్రీన్‌షాట్‌లు:

ప్రాసెస్ ఎక్స్‌ప్లోరర్

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

ప్రాసెస్ ఎడిటర్

ఇంటర్‌సిస్టమ్స్ IRISలో పైథాన్ గేట్‌వే

సెట్టింగ్

  1. మీకు ఇంటర్‌సిస్టమ్స్ IRIS 2019.2+ అవసరం.
  2. PythonGateway v0.8+ని ఇన్‌స్టాల్ చేయండి (అవసరం మాత్రమే isc.py.util.Jupyter, isc.py.util.JupyterCheckpoints и isc.py.ens.ProcessUtils).
  3. రిపోజిటరీ నుండి ఆబ్జెక్ట్‌స్క్రిప్ట్ కోడ్‌ను నవీకరించండి.
  4. అమలు do ##class(isc.py.util.Jupyter).Install() మరియు ప్రాంప్ట్‌లను అనుసరించండి.

డాక్యుమెంటేషన్.

కనుగొన్న

MLToolkit అనేది మోడల్‌లు మరియు లావాదేవీల వాతావరణాన్ని మిళితం చేయడం లక్ష్యంగా ఉన్న సాధనాల సమితి, దీని వలన బిల్ట్ మోడల్‌లు నేరుగా మీ వ్యాపార ప్రక్రియల్లో సులభంగా ఉపయోగించబడతాయి. పైథాన్ గేట్‌వే MLToolkitలో భాగం మరియు పైథాన్ భాషతో ఏకీకరణను అందిస్తుంది, ఇది పైథాన్‌లో సృష్టించబడిన ఏదైనా మెషీన్ లెర్నింగ్ అల్గారిథమ్‌లను ఆర్కెస్ట్రేట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది (చాలా మంది డేటా సైంటిస్టులకు ప్రధాన వాతావరణం), అనుకూలమైన, రోబోటిక్ విశ్లేషణాత్మక AI/ని త్వరగా సృష్టించడానికి అనేక రెడీమేడ్ లైబ్రరీలను ఉపయోగించండి. ఇంటర్‌సిస్టమ్స్ ప్లాట్‌ఫారమ్ IRISలో ML సొల్యూషన్స్.

సూచనలు

MLToolkit

MLToolkit వినియోగదారు సమూహం అనేది ఇంటర్‌సిస్టమ్స్ కార్పొరేట్ GitHub సంస్థలో భాగంగా సృష్టించబడిన ప్రైవేట్ GitHub రిపోజిటరీ. ఇది పైథాన్ గేట్‌వేతో సహా MLToolkit భాగాలను ఇన్‌స్టాల్ చేసే, నేర్చుకునే లేదా ఇప్పటికే ఉపయోగిస్తున్న బాహ్య వినియోగదారుల కోసం ఉద్దేశించబడింది. సమూహం మార్కెటింగ్, తయారీ, ఔషధం మరియు అనేక ఇతర పరిశ్రమల రంగాలలో (సోర్స్ కోడ్ మరియు పరీక్ష డేటాతో) అనేక అమలు కేసులను కలిగి ఉంది. ML టూల్‌కిట్ వినియోగదారు సమూహంలో చేరడానికి, దయచేసి క్రింది చిరునామాకు ఒక చిన్న ఇమెయిల్ పంపండి: [ఇమెయిల్ రక్షించబడింది] మరియు మీ లేఖలో కింది సమాచారాన్ని చేర్చండి:

  • GitHub వినియోగదారు పేరు
  • సంస్థ (మీరు పని లేదా అధ్యయనం)
  • స్థానం (మీ సంస్థలో మీ వాస్తవ స్థానం, "విద్యార్థి" లేదా "స్వతంత్ర").
  • దేశంలో

ఆర్టికల్‌ని చదివిన మరియు ఆర్టిఫిషియల్ ఇంటెలిజెన్స్ మరియు మెషిన్ లెర్నింగ్ ఇంజన్‌లను అభివృద్ధి చేయడానికి లేదా హోస్ట్ చేయడానికి వేదికగా ఇంటర్‌సిస్టమ్స్ IRIS యొక్క సామర్థ్యాలపై ఆసక్తి ఉన్న వారి కోసం, మీ సంస్థకు ఆసక్తి కలిగించే సాధ్యమైన దృశ్యాలను చర్చించడానికి మేము మిమ్మల్ని ఆహ్వానిస్తున్నాము. మీ కంపెనీ అవసరాలను విశ్లేషించడానికి మరియు ఉమ్మడిగా కార్యాచరణ ప్రణాళికను నిర్ణయించడానికి మేము సంతోషిస్తాము; మా AI/ML నిపుణుల బృందం యొక్క సంప్రదింపు ఇమెయిల్ చిరునామా - [ఇమెయిల్ రక్షించబడింది].

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి