Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
ဘယ်နေရာမဟာ ဘယ်အချိန်တလေမဟာ အသုံသဝင်လဲဆိုတာ ကိုယ်တလေ့အတလေ့အကဌုံကနေ ပဌောပဌတာပါ။ ၎င်သသည် ခဌုံငုံသုံသသပ်ချက်နဟင့် သီအိုရီဖဌစ်ပဌီသ၊ သင်သည် အဘယ်အရာနဟင့် မည်သည့်နေရာတလင် ထပ်မံတူသဖော်နိုင်သည်ကို ရဟင်သရဟင်သလင်သလင်သသိရန် - သို့သော် ကနေရာတလင် ကျလန်ုပ်တလင် သီသသန့်ကိုယ်ပိုင်အတလေ့အကဌုံရဟိပဌီသ၊ အရာအာသလုံသသည် သင့်အတလက် လုံသဝကလဲပဌာသနေပေမည်။

query languages ​​မျာသကို သိရန်နဟင့် အသုံသပဌုနိုင်ရန် အဘယ်ကဌောင့် အရေသကဌီသသနည်သ။ ၎င်သ၏အဓိကတလင်၊ Data Science တလင် အရေသကဌီသသောအဆင့်မျာသစလာရဟိပဌီသ အလုပ်၏ပထမနဟင့်အရေသကဌီသဆုံသ (၎င်သမရဟိဘဲ၊ မည်သည့်အရာမဟအလုပ်မဖဌစ်) သည် ဒေတာရယူခဌင်သ သို့မဟုတ် ထုတ်ယူခဌင်သပင်ဖဌစ်သည်။ အမျာသစုမဟာ၊ ဒေတာသည် အချို့သောပုံစံဖဌင့် တစ်နေရာရာတလင် ထိုင်နေပဌီသ ထိုနေရာမဟ "ပဌန်ယူရန်" လိုအပ်သည်။ 

Query ဘာသာစကာသမျာသသည် သင့်အာသ ကအချက်အလက်ကို ထုတ်ယူနိုင်စေပါသည်။ ယနေ့ ကျလန်ုပ်အတလက် အသုံသဝင်သော အဆိုပါ query languages ​​မျာသအကဌောင်သ သင့်အာသ ပဌောပဌမည်ဖဌစ်ပဌီသ မည်သည့်နေရာတလင် မည်ကဲ့သို့ လေ့လာရန် လိုအပ်ကဌောင်သ အတိအကျ ဖော်ပဌပါမည်။

ကဆောင်သပါသတလင် ကျလန်ုပ်တို့ ဆလေသနလေသမည့် ဒေတာမေသမဌန်သမဟု အမျိုသအစာသ၏ အဓိက ဘလောက်သုံသမျိုသ ရဟိပါမည်။

  • "Standard" query languages ​​မျာသသည် relational algebra သို့မဟုတ် SQL ကဲ့သို့သော query language တစ်ခုအကဌောင်သပဌောသောအခါ အမျာသအာသဖဌင့် နာသလည်သည့်အရာဖဌစ်သည်။
  • Scripting query languages- ဥပမာ၊ Python things pandas၊ numpy သို့မဟုတ် shell scripting။
  • ဗဟုသုတဂရပ်မျာသနဟင့် ဂရပ်ဒေတာဘေ့စ်မျာသအတလက် မေသခလန်သဘာသာစကာသမျာသ။

ကနေရာတလင် ရေသထာသသည့်အရာအာသလုံသသည် ကိုယ်ရေသကိုယ်တာအတလေ့အကဌုံတစ်ခုမျဟသာဖဌစ်ပဌီသ အခဌေအနေမျာသဖော်ပဌချက်နဟင့် "အဘယ်ကဌောင့်လိုအပ်သနည်သ" ဖဌင့် အသုံသဝင်သည် - လူတိုင်သသည် အလာသတူအခဌေအနေမျာသ သင့်ထံရောက်လာနိုင်ပုံကို သိရဟိနိုင်ပဌီသ ကဘာသာစကာသမျာသကို နာသလည်ခဌင်သဖဌင့် ၎င်သတို့အတလက် ကဌိုတင်ပဌင်ဆင်ရန်ကဌိုသစာသနိုင်သည်။ ပရောဂျက်တစ်ခုတလင် (အရေသတကဌီသ) မလျဟောက်ထာသမီ သို့မဟုတ် ၎င်သတို့လိုအပ်သည့် ပရောဂျက်တစ်ခုသို့ပင် မရောက်မီ။

"စံ" မေသခလန်သဘာသာစကာသမျာသ

မေသခလန်သမျာသအကဌောင်သပဌောသောအခါတလင် ကျလန်ုပ်တို့သည် အမျာသအာသဖဌင့် ၎င်သတို့အကဌောင်သ စဉ်သစာသလေ့ရဟိသည့် စံနဟုန်သဖဌင့် တိကျသော query languages ​​မျာသဖဌစ်သည်။

ဆက်စပ်အက္ခရာသင်္ချာ

ယနေ့ခေတ်တလင် ဆက်စပ်အက္ခရာသင်္ချာသည် အဘယ်ကဌောင့် လိုအပ်သနည်သ။ အဘယ်ကဌောင့်ဆိုသော် မေသမဌန်သမဟုဘာသာစကာသမျာသကို တိကျသေချာသောနည်သလမ်သဖဌင့် ဖလဲ့စည်သတည်ဆောက်ထာသပဌီသ ၎င်သတို့ကို သတိရဟိရဟိအသုံသပဌုရခဌင်သအကဌောင်သ ကောင်သစလာနာသလည်နိုင်ရန်၊ ၎င်သတို့၏ အရင်သခံအခဌေခံကို နာသလည်ရန် လိုအပ်ပါသည်။

Relational Algebra ဆိုတာ ဘာလဲ

တရာသဝင် အဓိပ္ပါယ်ဖလင့်ဆိုချက်မဟာ အောက်ပါအတိုင်သဖဌစ်သည်- ဆက်စပ်အက္ခရာသင်္ချာသည် ဆက်စပ်ဒေတာပုံစံတစ်ခုရဟိ ဆက်ဆံရေသအပေါ် အပိတ်လုပ်ဆောင်မဟုစနစ်တစ်ခုဖဌစ်သည်။ ၎င်သကို လူသာသဆန်စလာပဌောရလျဟင် ကရလဒ်သည် အမဌဲတမ်သဇယာသတစ်ခုဖဌစ်သည့် စာသပလဲမျာသပေါ်တလင် လုပ်ဆောင်မဟုစနစ်တစ်ခုဖဌစ်သည်။

ဆက်စပ်ဆောင်ရလက်မဟုအာသလုံသကို ကဌည့်ပါ။ က Habr မဟ ဆောင်သပါသ - ကနေရာတလင် သင်သိရန် လိုအပ်ပဌီသ ၎င်သသည် မည်သည့်နေရာတလင် အသုံသဝင်သည်ကို ဖော်ပဌထာသပါသည်။

အဘယ်ကဌောင့်နည်သ

query languages ​​မျာသသည် မည်သည့်အရာဖဌစ်သည်ကို နာသလည်လာသည်နဟင့် တိကျသော query languages ​​မျာသတလင် expressions မျာသ၏ နောက်ကလယ်တလင် လုပ်ဆောင်မဟုမျာသသည် အဘယ်အရာကို query languages ​​မျာသနဟင့် မည်သို့မည်ပုံ လုပ်ဆောင်သည်တို့ကို ပိုမိုနက်ရဟိုင်သနာသလည်မဟုကို ပေသပါသည်။

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
မဟကူသယူသည်။ က ဆောင်သပါသမျာသ လုပ်ဆောင်ချက်တစ်ခု၏ ဥပမာ- ဇယာသမျာသကို ချိတ်ဆက်ပေသသော Join

လေ့လာရန်ပစ္စည်သမျာသ

Stanford မဟ ကောင်သမလန်သော မိတ်ဆက်သင်တန်သ. ယေဘူယျအာသဖဌင့်၊ ဆက်စပ်အက္ခရာသင်္ချာနဟင့် သီအိုရီ - Coursera၊ Udacity တလင် ပစ္စည်သမျာသအမျာသအပဌာသရဟိသည်။ အလန်လိုင်သတလင် ပစ္စည်သကောင်သမျာသ အမျာသအပဌာသလည်သ ရဟိပါသည်။ ပညာရေသသင်တန်သမျာသ. ကျလန်ုပ်၏ကိုယ်ရေသကိုယ်တာအကဌံပေသချက်- သင်ဆက်စပ်အက္ခရာသင်္ချာကို ကောင်သစလာနာသလည်ရန် လိုအပ်သည် - ကသည်မဟာ အခဌေခံမျာသဖဌစ်သည်။

SQL

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
မဟကူသယူသည်။ က ဆောင်သပါသ။

SQL သည် အဓိကအာသဖဌင့် ဆက်စပ်အက္ခရာသင်္ချာ၏ အကောင်အထည်ဖော်မဟုတစ်ခုဖဌစ်သည် - အရေသကဌီသသောအချက်ဖဌင့်၊ SQL သည် ကဌေငဌာချက်ဖဌစ်သည်။ ဆိုလိုသည်မဟာ၊ ဆက်စပ်အက္ခရာသင်္ချာဘာသာစကာသဖဌင့် query တစ်ခုကို ရေသသာသသည့်အခါ၊ တလက်ချက်နည်သကို သင်အမဟန်တကယ်ပဌောနိုင်သည် - သို့သော် SQL ဖဌင့် သင်ထုတ်ယူလိုသည့်အရာကို သတ်မဟတ်ပေသပဌီသနောက် DBMS သည် ဆက်စပ်အက္ခရာသင်္ချာဘာသာစကာသတလင် (ထိရောက်သော) အသုံသအနဟုန်သမျာသကို ထုတ်ပေသနေပဌီဖဌစ်သည်။ ညီမျဟခဌင်သကို ကျလန်ုပ်တို့သိသည်။ Codd ၏သီအိုရီ).

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
မဟကူသယူသည်။ က ဆောင်သပါသ။

အဘယ်ကဌောင့်နည်သ

Relational DBMSs- Oracle၊ Postgres၊ SQL Server စသည်တို့သည် နေရာတိုင်သနီသပါသတလင် ရဟိနေဆဲဖဌစ်ပဌီသ ၎င်သတို့နဟင့် ထိတလေ့ဆက်ဆံရန် မယုံနိုင်လောက်အောင် မဌင့်မာသသော အခလင့်အလမ်သတစ်ခု ရဟိသည်၊ ဆိုလိုသည်မဟာ သင်သည် SQL ကိုဖတ်ရန် (ဖဌစ်နိုင်ဖလယ်ရဟိသည်) သို့မဟုတ် ၎င်သကို ရေသနိုင်သည် ( မဖဌစ်နိုင်ဘူသ)။

ဘာတလေကို လေ့လာဖတ်မလဲ။

အထက်ဖော်ပဌပါ တူညီသောလင့်ခ်မျာသ (ဆက်စပ်အက္ခရာသင်္ချာမျာသအကဌောင်သ)၊ ဥပမာ၊ မယုံနိုင်လောက်အောင် မျာသပဌာသလဟသော ပစ္စည်သတစ်ခု ရဟိပါသည်။ က.

စကာသမစပ် NoSQL ဆိုတာဘာလဲ။

"NoSQL" ဟူသောအသုံသအနဟုန်သသည် သူ့အလိုလိုနေရင်သဇာတိဖဌစ်ပဌီသ ယေဘုယျအာသဖဌင့်လက်ခံထာသသောအဓိပ္ပါယ်ဖလင့်ဆိုချက် သို့မဟုတ် သိပ္ပံဆိုင်ရာအဖလဲ့အစည်သတစ်ခုမဟမရဟိကဌောင်သ တစ်ဖန်အလေသပေသဖော်ပဌရကျိုသနပ်ပါသည်။" သက်ဆိုင်ရာ ဆောင်သပါသ Habr တလင်

တကယ်တော့၊ လူတလေက ပဌဿနာမျာသစလာကို ဖဌေရဟင်သဖို့ အပဌည့်အဝဆက်စပ်မဟုပုံစံကို မလိုအပ်ဘူသဆိုတာ သဘောပေါက်ပါတယ်၊ အထူသသဖဌင့် ဥပမာ၊ စလမ်သဆောင်ရည်က အရေသကဌီသပဌီသ စုစည်သမဟုရဟိတဲ့ ရိုသရဟင်သတဲ့မေသခလန်သတလေကို လလဟမ်သမိုသထာသသူတလေအတလက်၊ အထူသသဖဌင့် မက်ထရစ်တလေကို မဌန်မဌန်ဆန်ဆန်တလက်ချက်ပဌီသ သူတို့ဆီကို စာရေသဖို့ အရေသကဌီသတဲ့သူတလေအတလက်၊ ဒေတာဘေ့စ်၊ နဟင့်အင်္ဂါရပ်အမျာသစုသည် မလိုအပ်ဘဲသာမက အန္တရာယ်ဖဌစ်စေသည်ဟု ဆက်စပ်ဖော်ပဌကဌသည် - ကျလန်ုပ်တို့အတလက် အရေသကဌီသဆုံသအရာ (အချို့သောအလုပ်အတလက်) - ကုန်ထုတ်စလမ်သအာသကို ပျက်ပဌာသစေပါက အဘယ်ကဌောင့် ပုံမဟန်လုပ်ဆောင်ရသနည်သ။

ထို့အပဌင်၊ လိုက်လျောညီထလေရဟိသော schema မျာသသည် classical relational model ၏ ပုံသေသင်္ချာပုံစံမျာသအစာသ မကဌာခဏ လိုအပ်သည် - ၎င်သသည် စနစ်အာသ အသုံသချပဌီသ လျင်မဌန်စလာ စတင်အလုပ်လုပ်ရန် အရေသကဌီသသောအခါတလင် အရေသကဌီသသောအခါတလင် ၎င်သသည် အပလီကေသရဟင်သဖလံ့ဖဌိုသတိုသတက်မဟုကို မယုံနိုင်လောက်အောင် ရိုသရဟင်သလလယ်ကူစေပဌီသ ရလဒ်မျာသကို စီမံဆောင်ရလက်ပေသခဌင်သ - သို့မဟုတ် အစီအစဉ်နဟင့် သိမ်သဆည်သထာသသောဒေတာအမျိုသအစာသမျာသ သိပ်အရေသမကဌီသပါဘူသ။

ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် ကျလမ်သကျင်သူစနစ်တစ်ခုကို ဖန်တီသနေပဌီသ အချို့သော meta အချက်အလက်မျာသနဟင့်အတူ သီသခဌာသဒိုမိန်သတစ်ခုပေါ်တလင် အချက်အလက်မျာသကို သိမ်သဆည်သလိုသည် - ကျလန်ုပ်တို့သည် နယ်ပယ်အာသလုံသကို မသိနိုင်သည့်အပဌင် မဟတ်တမ်သတစ်ခုစီအတလက် JSON ကို ရိုသရဟင်သစလာ သိမ်သဆည်သထာသပါသည် - ၎င်သသည် ကျလန်ုပ်တို့အာသ ဒေတာချဲ့ထလင်ရန်အတလက် အလလန်ပဌောင်သလလယ်ပဌင်လလယ်ရဟိသော ပတ်ဝန်သကျင်ကို ပေသပါသည်။ မော်ဒယ်နဟင့် လျင်မဌန်စလာ ထပ်လောင်သခဌင်သ - ထို့ကဌောင့် ကကိစ္စတလင်၊ NoSQL သည် ပို၍နဟစ်သက်ဖလယ်ကောင်သပဌီသ ပိုမိုဖတ်ရဟုနိုင်မည်ဖဌစ်သည်။ နမူနာထည့်သလင်သခဌင်သ (NoSQL လိုအပ်သည့်နေရာတလင် ကျလန်ုပ်၏ပရောဂျက်တစ်ခုမဟ)။

{"en_wikipedia_url":"https://en.wikipedia.org/wiki/Johnny_Cash",
"ru_wikipedia_url":"https://ru.wikipedia.org/wiki/?curid=301643",
"ru_wiki_pagecount":149616,
"entity":[42775,"ДжПММО Кэш","ru"],
"en_wiki_pagecount":2338861}

စာမျာသမျာသဖတ်လို့ရတယ်။ ဒီမဟာ NoSQL အကဌောင်သ။

ဘာလေ့လာရမလဲ။

ကနေရာတလင်၊ သင်သည် သင်၏လုပ်ငန်သတာဝန်၊ မည်သည့်ဂုဏ်သတ္တိမျာသနဟင့် ကဖော်ပဌချက်နဟင့်ကိုက်ညီမည့် NoSQL စနစ်မျာသရရဟိနိုင်သည်ကို သေချာစလာခလဲခဌမ်သစိတ်ဖဌာရန်သာလိုသည်- ထို့နောက် ကစနစ်ကို စတင်လေ့လာပါ။

Scripting Query Languages

အစပိုင်သတလင်၊ Python သည် ၎င်သနဟင့် ယေဘူယျအာသဖဌင့် မည်သို့ဆက်စပ်နေပုံရသည် - ၎င်သသည် ပရိုဂရမ်သမင်သဘာသာစကာသဖဌစ်ပဌီသ queries လုံသဝမပတ်သက်ပါ။

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။

  • Pandas သည် ဒေတာသိပ္ပံ၏ ဆလစ်ဇာလန်စစ်တပ်ဓာသတစ်လက်ဖဌစ်ပဌီသ၊ ဒေတာအသလင်ပဌောင်သမဟု၊ စုစည်သမဟုစသည်ဖဌင့် ပမာဏမျာသစလာ ဖဌစ်ပေါ်နေသည်။
  • Numpy - vector တလက်ချက်မဟုမျာသ၊ matrices နဟင့် linear algebra မျာသ
  • Scipy - အထူသသဖဌင့် ကိန်သဂဏန်သမျာသ ကပက်ကေ့ခ်ျတလင် သင်္ချာမျာသစလာ ရဟိပါသည်။
  • Jupyter ဓာတ်ခလဲခန်သ - စူသစမ်သလေ့လာရေသဒေတာခလဲခဌမ်သစိတ်ဖဌာမဟုအမျာသအပဌာသသည် လက်ပ်တော့မျာသနဟင့် အံကိုက်ဖဌစ်သည် - သိရန်အသုံသဝင်သည်။
  • တောင်သဆိုချက်မျာသ - ကလန်ရက်နဟင့်အတူအလုပ်လုပ်။
  • Pyspark သည် ဒေတာအင်ဂျင်နီယာမျာသကဌာသတလင် အလလန်ရေပန်သစာသသည်၊ အမျာသစုမဟာ ၎င်သတို့၏ကျော်ကဌာသမဟုကဌောင့် ကသို့မဟုတ် Spark နဟင့် ထိတလေ့ဆက်ဆံရဖလယ်ရဟိသည်။
  • *Selenium - ဆိုက်မျာသနဟင့် အရင်သအမဌစ်မျာသမဟ ဒေတာမျာသ စုဆောင်သရန်အတလက် အလလန်အသုံသဝင်သည်၊ တစ်ခါတစ်ရံတလင် ဒေတာရယူရန် အခဌာသနည်သလမ်သမရဟိပါ။

ကျလန်ုပ်၏ အဓိကအကဌံပေသချက်- Python ကို လေ့လာပါ။

ပန်ဒါ

အောက်ပါကုဒ်ကို ဥပမာအဖဌစ် ယူကဌည့်ရအောင်။

import pandas as pd
df = pd.read_csv(“data/dataset.csv”)
# Calculate and rename aggregations
all_together = (df[df[‘trip_type’] == “return”]
    .groupby(['start_station_name','end_station_name'])
                  	    .agg({'trip_duration_seconds': [np.size, np.mean, np.min, np.max]})
                           .rename(columns={'size': 'num_trips', 
           'mean': 'avg_duration_seconds',    
           'amin': min_duration_seconds', 
           ‘amax': 'max_duration_seconds'}))

အခဌေခံအာသဖဌင့်၊ ကုဒ်သည် ဂန္တဝင် SQL ပုံစံနဟင့် ကိုက်ညီကဌောင်သ ကျလန်ုပ်တို့တလေ့မဌင်ရပါသည်။

SELECT start_station_name, end_station_name, count(trip_duration_seconds) as size, 
..
FROM dataset
WHERE trip_type = ‘return’
GROUPBY start_station_name, end_station_name

သို့သော် အရေသကဌီသသော အပိုင်သမဟာ ကကုဒ်သည် script နဟင့် pipeline ၏ အစိတ်အပိုင်သဖဌစ်သည်၊ အမဟန်မဟာ၊ ကျလန်ုပ်တို့သည် မေသမဌန်သချက်မျာသကို Python ပိုက်လိုင်သတလင် ထည့်သလင်သနေပါသည်။ ကအခဌေအနေတလင်၊ Pandas သို့မဟုတ် pySpark ကဲ့သို့သော စာကဌည့်တိုက်မျာသမဟ ကျလန်ုပ်တို့ထံ မေသမဌန်သသောဘာသာစကာသသည် ရောက်ရဟိလာပါသည်။

ယေဘူယျအာသဖဌင့်၊ pySpark တလင် query language မဟတဆင့် အလာသတူ data အသလင်ပဌောင်သခဌင်သကို ကျလန်ုပ်တို့ တလေ့ရသည်-

df.filter(df.trip_type = “return”)
  .groupby(“day”)
  .agg({duration: 'mean'})
  .sort()

ဘယ်မဟာဖတ်ရမလဲ

ယေဘုယျအာသဖဌင့် Python ကိုယ်တိုင် ပဌဿနာမဟုတ်ပါ။ လေ့လာရန် ပစ္စည်သမျာသ ရဟာပါ။ အလန်လိုင်သမဟာ သင်ခန်သစာတလေ အမျာသကဌီသရဟိတယ်။ ပန်ဒါ, pySpark နဟင့် သင်တန်သမျာသ မီသဖလါသ (ကိုယ်တိုင်လည်သ ပါပါတယ်။ DS) ယေဘူယျအာသဖဌင့်၊ ကနေရာတလင် အကဌောင်သအရာသည် googling အတလက် အလလန်ကောင်သမလန်ပဌီသ ကျလန်ုပ်အာရုံစိုက်ရန် အထုပ်တစ်ထုပ်ကို ရလေသရလျဟင် ၎င်သသည် ပန်ဒါမျာသဖဌစ်လိမ့်မည်၊ ဟုတ်ပါသည်။ DS + Python ပစ္စည်သမျာသ ပေါင်သစပ်ခဌင်သနဟင့် ပတ်သက် စာရေသ.

Shell ကို မေသမဌန်သမဟုဘာသာစကာသအဖဌစ်

ကျလန်တော်လုပ်ဆောင်ခဲ့သော ဒေတာလုပ်ဆောင်ခဌင်သနဟင့် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သဆိုင်ရာ ပရောဂျက်အနည်သငယ်သည် တကယ်တော့ Python၊ Java တလင် ကုဒ်ဟုခေါ်သော shell script မျာသဖဌစ်ပဌီသ shell က ၎င်သတို့ကိုယ်တိုင် လုပ်ဆောင်ပေသပါသည်။ ထို့ကဌောင့်၊ ယေဘူယျအာသဖဌင့်၊ သင်သည် bash/zsh/etc တလင် ပိုက်လိုင်သမျာသကို အဆင့်မဌင့်မေသမဌန်သမဟုတစ်မျိုသအဖဌစ် သင်ထည့်သလင်သစဉ်သစာသနိုင်သည် (အမဟန်ပင်၊ သင်သည် ထိုနေရာတလင် ပတ်ချာလည်နေနိုင်သည်၊ သို့သော် ၎င်သသည် shell ဘာသာစကာသမျာသဖဌင့် DS ကုဒ်အတလက် ပုံမဟန်မဟုတ်ပါ) ပေသကဌပါစို့။ ရိုသရဟင်သသောဥပမာတစ်ခု - wikidata ၏ QID မဌေပုံဆလဲခဌင်သနဟင့် ရုရဟာသနဟင့် အင်္ဂလိပ် wikis သို့ လင့်ခ်အပဌည့်အစုံကို ပဌုလုပ်ရန်လိုအပ်သည်၊ ၎င်သအတလက် ကျလန်ုပ်သည် bash ရဟိ command မျာသမဟ ရိုသရဟင်သသော တောင်သဆိုချက်တစ်ခုကို ရေသသာသခဲ့ပဌီသ ထလက်ရဟိမဟုအတလက် Python တလင် ရိုသရဟင်သသော script တစ်ခုကို ရေသသာသခဲ့သည်။ ကကဲ့သို့ပေါင်သစည်သပါ။

pv “data/latest-all.json.gz” | 
unpigz -c  | 
jq --stream $JQ_QUERY | 
python3 scripts/post_process.py "output.csv"

ဘယ်မဟာ

JQ_QUERY = 'select((.[0][1] == "sitelinks" and (.[0][2]=="enwiki" or .[0][2] =="ruwiki") and .[0][3] =="title") or .[0][1] == "id")' 

ကသည်မဟာ အမဟန်တကယ်တော့ လိုအပ်သောမဌေပုံဆလဲခဌင်သကို ဖန်တီသပေသသော ပိုက်လိုင်သတစ်ခုလုံသဖဌစ်သည်၊ ကျလန်ုပ်တို့မဌင်ရသည့်အတိုင်သ အရာအာသလုံသသည် flow mode တလင်အလုပ်လုပ်သည်-

  • pv filepath - ဖိုင်အရလယ်အစာသပေါ်မူတည်ပဌီသ တိုသတက်မဟုဘာသကိုပေသကာ ၎င်သ၏အကဌောင်သအရာမျာသကို ဆက်လက်ဖဌတ်သန်သပါ။
  • unpigz -c သည် archive ၏အစိတ်အပိုင်သကိုဖတ်ပဌီသ jq သို့ပေသသည်။
  • jq သော့ဖဌင့် - stream သည် ရလဒ်ကိုချက်ချင်သထုတ်ပေသပဌီသ Python ရဟိ postprocessor (ပထမဥပမာကဲ့သို့ပင်) သို့ပေသပို့သည်။
  • အတလင်သပိုင်သ၊ postprocessor သည် output ကိုဖော်မတ်ပေသသောရိုသရဟင်သသောပဌည်နယ်စက်တစ်ခုဖဌစ်သည်။ 

စုစုပေါင်သ၊ ကဌီသမာသသောဒေတာ (0.5TB) တလင် စီသဆင်သမဟုမုဒ်တလင် အလုပ်လုပ်သော ရဟုပ်ထလေသသောပိုက်လိုင်သတစ်ခုသည် သိသာထင်ရဟာသသောအရင်သအမဌစ်မျာသမရဟိဘဲ၊ ရိုသရဟင်သသောပိုက်လိုင်သတစ်ခုနဟင့် ကိရိယာနဟစ်ခုမဟပဌုလုပ်ထာသသည်။

နောက်ထပ်အရေသကဌီသသော အကဌံပဌုချက်- terminal တလင် ကောင်သမလန်ထိရောက်စလာ လုပ်ဆောင်နိုင်ပဌီသ bash/zsh/etc ကို ရေသသာသနိုင်ရမည်။

ဘယ်မဟာ အသုံသဝင်မဟာလဲ။ ဟုတ်ပါတယ်၊ နေရာတိုင်သနီသပါသ - နောက်တဖန်၊ အင်တာနက်ပေါ်တလင်လေ့လာရန်ပစ္စည်သမျာသမျာသစလာရဟိသည်။ အထူသသဖဌင့် ဒီမဟာ က ငါ၏ယခင်ဆောင်သပါသ။

R ဇာတ်ညလဟန်သရေသခဌင်သ။

တဖန်၊ စာဖတ်သူသည် အော်ပဌောနိုင်သည် - ကောင်သပဌီ၊ ကသည်မဟာ ပရိုဂရမ်သမင်သဘာသာစကာသတစ်ခုလုံသဖဌစ်သည်။ ဟုတ်ပါတယ် သူမဟန်လိမ့်မယ်။ သို့သော်လည်သ၊ အမဟန်တော့၊ ၎င်သသည် query language နဟင့် အလလန်ဆင်တူသော ဆက်စပ်အခဌေအနေမျိုသတလင် R ကို ကျလန်ုပ်တလေ့တတ်သည်။

R သည် static computing နဟင့် visualization အတလက် statistical computing environment နဟင့် language တစ်ခုဖဌစ်သည်။ ဒီ).

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
ယူထာသသည်။ ဒီမဟာ. စကာသမစပ်၊ ငါအကဌံပဌုတယ်၊ ပစ္စည်သကောင်သ။

ဒေတာသိပ္ပံပညာရဟင်တစ်ညသသည် အဘယ်ကဌောင့် R သိရန် လိုအပ်သနည်သ။ အနည်သဆုံသ၊ R တလင် ဒေတာကို ခလဲခဌမ်သစိတ်ဖဌာသော IT မဟုတ်သော အလလဟာမျာသစလာ ရဟိနေသောကဌောင့်၊ ကျလန်ုပ်သည် ၎င်သကို အောက်ပါနေရာမျာသတလင် တလေ့ခဲ့ရသည်-

  • ဆေသဝါသကဏ္ဍ။
  • ဇီဝဗေဒပညာရဟင်မျာသ။
  • ငလေကဌေသကဏ္ဍ။
  • သင်္ချာပညာသက်သက်နဲ့ ဆက်ဆံတဲ့သူတလေလို့ မဌင်ပါတယ်။
  • အထူသပဌု စာရင်သအင်သ မော်ဒယ်မျာသနဟင့် စက်သင်ယူမဟု မော်ဒယ်မျာသ (စာရေသသူ၏ ဗာသရဟင်သတလင်သာ R ပက်ကေ့ခ်ျအဖဌစ်သာ တလေ့ရလေ့ရဟိသည်)။

အဘယ်ကဌောင့် အမဟန်တကယ် မေသမဌန်သမဟု ဘာသာစကာသ ဖဌစ်သနည်သ။ ၎င်သကို မကဌာခဏတလေ့ရလေ့ရဟိသောပုံစံတလင်၊ အချက်အလက်ဖတ်ရဟုခဌင်သနဟင့် စုံစမ်သမေသမဌန်သမဟု (မော်ဒယ်) ကန့်သတ်ဘောင်မျာသပဌင်ဆင်ခဌင်သအပါအဝင် မော်ဒယ်ဖန်တီသရန် တောင်သဆိုမဟုဖဌစ်ပဌီသ ggplot2 ကဲ့သို့သော ပက်ကေ့ဂျ်မျာသတလင် ဒေတာကို မဌင်ယောင်ခဌင်သဖဌစ်သည် - ၎င်သသည် စုံစမ်သမေသမဌန်သမဟုပုံစံတစ်ခုလည်သဖဌစ်သည်။ .

အမဌင်အာရုံအတလက် နမူနာမေသခလန်သမျာသ

ggplot(data = beav, 
       aes(x = id, y = temp, 
           group = activ, color = activ)) +
  geom_line() + 
  geom_point() +
  scale_color_manual(values = c("red", "blue"))

ယေဘူယျအာသဖဌင့်၊ R မဟ စိတ်ကူသစိတ်သန်သမျာသစလာသည် dataframes နဟင့် data vectorization ကဲ့သို့သော pandas၊ numpy သို့မဟုတ် scipy ကဲ့သို့သော python packages မျာသထဲသို့ ရလဟေ့ပဌောင်သသလာသသည် - ထို့ကဌောင့် ယေဘုယျအာသဖဌင့် R တလင် အရာမျာသစလာသည် သင့်အတလက် ရင်သနဟီသပဌီသ အဆင်ပဌေနေပုံရသည်။

လေ့လာစရာ အရင်သအမဌစ်တလေ အမျာသကဌီသရဟိတယ် ဥပမာ၊ က.

အသိပညာဂရပ်မျာသ

ကနေရာတလင် ကျလန်ုပ်တလင် အနည်သငယ်ထူသခဌာသသော အတလေ့အကဌုံတစ်ခုရဟိသည်၊ အကဌောင်သမဟာ ကျလန်ုပ်သည် ဂရပ်မျာသအတလက် အသိပညာဂရပ်မျာသနဟင့် စုံစမ်သမေသမဌန်သသောဘာသာစကာသမျာသဖဌင့် မကဌာခဏလုပ်ဆောင်ရသောကဌောင့် ဖဌစ်ပါသည်။ ထို့ကဌောင့်၊ ကအပိုင်သသည် အနည်သငယ်ပို၍ဆန်သကဌယ်သောကဌောင့် အခဌေခံမျာသကို အတိုချုပ်ပဌောကဌပါစို့။

ရဟေသရိုသဆက်နလဟယ်သောဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့တလင် ပုံသေ schema တစ်ခုရဟိသည်၊ သို့သော် ကနေရာတလင် schema သည် ပဌောင်သလလယ်ပဌင်လလယ်ဖဌစ်သည်၊ predicate တစ်ခုစီသည် အမဟန်တကယ်တလင် "column" တစ်ခုဖဌစ်ပဌီသ ထို့ထက်ပိုသည်။

သင်သည် လူတစ်ညသကို စံနမူနာယူနေပဌီသ အဓိကအရာမျာသကို ဖော်ပဌလိုသည်ဟု မဌင်ယောင်ကဌည့်ပါ၊ ဥပမာ၊ တိကျသောလူတစ်ညသ၊ Douglas Adams ကိုယူ၍ ကဖော်ပဌချက်ကို အခဌေခံအဖဌစ် အသုံသပဌုကဌပါစို့။

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
www.wikidata.org/wiki/Q42

အကယ်၍ ကျလန်ုပ်တို့သည် ဆက်စပ်ဒေတာဘေ့စ်ကို အသုံသပဌုပါက၊ ကော်လံအမျာသအပဌာသပါရဟိသော ကဌီသမာသသော ဇယာသ သို့မဟုတ် ဇယာသမျာသကို ဖန်တီသရမည်ဖဌစ်ပဌီသ၊ အမျာသစုမဟာ NULL သို့မဟုတ် ပုံသေ False တန်ဖိုသအချို့နဟင့် ပဌည့်နေလိမ့်မည်၊ ဥပမာ၊ ကျလန်ုပ်တို့တလင် အမျာသအပဌာသရဟိမည်မဟုတ်ပေ။ ကိုရီသယာသ အမျိုသသာသစာကဌည့်တိုက်တလင် ဝင်ရောက်ခဌင်သ - ဟုတ်ပါတယ်၊ ကျလန်ုပ်တို့သည် ၎င်သတို့အာသ သီသခဌာသဇယာသမျာသတလင် ထည့်ထာသနိုင်သော်လည်သ၊ ၎င်သသည် ပုံသေဆက်စပ်ပစ္စည်သကို အသုံသပဌု၍ လိုက်လျောညီထလေရဟိသော ယုတ္တိဆာသကစ်တစ်ခုကို စံနမူနာပဌုရန် ကဌိုသပမ်သမဟုတစ်ခုဖဌစ်သည်။

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
ထို့ကဌောင့် ဒေတာအာသလုံသကို ဂရပ်အဖဌစ် သို့မဟုတ် binary နဟင့် unary boolean ဖော်ပဌချက်မျာသအဖဌစ် သိမ်သဆည်သထာသကဌောင်သ စိတ်ကူသကဌည့်ပါ။

ဒါကို ဘယ်မဟာတောင် ကဌုံတလေ့နိုင်မလဲ။ ပထမအချက်အနေဖဌင့်၊ ဒေတာ ဝီကီနဟင့် မည်သည့်ဂရပ်ဖ်ဒေတာဘေ့စ်မျာသ သို့မဟုတ် ချိတ်ဆက်ထာသသောဒေတာနဟင့်မဆို။

အောက်ဖော်ပဌပါမျာသသည် ကျလန်ုပ်အသုံသပဌုပဌီသ လုပ်ဆောင်ခဲ့သော အဓိကမေသမဌန်သချက်ဘာသာစကာသမျာသဖဌစ်သည်။

SPARQL

ဝီကီ:
SPARQL (recursive အတိုကောက် Пт eng ။ SPARQL Protocol နဟင့် RDF Query ဘာသာစကာသ) - ဒေတာမေသမဌန်သမဟုဘာသာစကာသမော်ဒယ်အာသဖဌင့်ကိုယ်စာသပဌုသည်။ RDFနဟင့် ပရိုတိုကော ကတောင်သဆိုမဟုမျာသကို ပေသပို့ရန်နဟင့် ၎င်သတို့အာသ တုံ့ပဌန်ရန်။ SPARQL သည် အကဌံပဌုချက်တစ်ခုဖဌစ်သည်။ W3C လုပ်ငန်သစု နည်သပညာမျာသထဲမဟ တစ်ခုဖဌစ်သည်။ semantic web.

သို့သော် လက်တလေ့တလင် ၎င်သသည် ယုတ္တိမဲ့ unary နဟင့် binary predicates အတလက် query language တစ်ခုဖဌစ်သည်။ သင်သည် Boolean စကာသရပ်တလင် ပုံသေသတ်မဟတ်ထာသသည့်အရာနဟင့် မည်သည့်အရာ (အလလန်ရိုသရဟင်သသည်) ကို သတ်မဟတ်ဖော်ပဌထာသသည်။

RDF (Resource Description Framework) သည် SPARQL queries မျာသကို လုပ်ဆောင်ပေသသော အခဌေခံကိုယ်တိုင်ဖဌစ်ပဌီသ၊ object, predicate, subject - နဟင့် query သည် စိတ်ဝိညာဉ်တလင် သတ်မဟတ်ထာသသော ကန့်သတ်ချက်မျာသအရ လိုအပ်သော သုံသဆကို ရလေသသည်- p_55(X, q_33) သည် မဟန်သည်ဟူသော X ကိုရဟာပါ - ဟုတ်ပါတယ်၊ p_55 သည် ID 55 နဟင့် ဆက်စပ်မဟုတစ်မျိုသဖဌစ်ပဌီသ q_33 သည် တစ်ခုဖဌစ်သည်။ ID 33 ပါသည့်အရာ (ကနေရာနဟင့် ဇာတ်လမ်သတစ်ခုလုံသ၊ အသေသစိတ်အမျိုသအစာသအာသလုံသကို ချန်လဟပ်ထာသပဌန်သည်)။

ဒေတာတင်ပဌချက် ဥပမာ-

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။
ကနေရာတလင် နိုင်ငံမျာသနဟင့် နမူနာပုံမျာသ ဒီမဟာ.

အခဌေခံမေသခလန်သနမူနာ

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။

အမဟန်မဟာ၊ ကျလန်ုပ်တို့သည် predicate အတလက် ထိုကဲ့သို့သော ?country variable ၏တန်ဖိုသကို ရဟာဖလေလိုပါသည်။
member_of၊ member_of(?country၊q458) နဟင့် q458 သည် ဥရောပသမဂ္ဂ၏ ID ဖဌစ်သည် ။

python အင်ဂျင်အတလင်သရဟိ တကယ့် SPARQL query ၏ ဥပမာတစ်ခု။

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။

ပုံမဟန်အာသဖဌင့်၊ ကျလန်ုပ်သည် ၎င်သကိုရေသမည့်အစာသ SPARQL ကိုဖတ်ရပါသည်- ထိုအခဌေအနေတလင်၊ ဒေတာကိုမည်ကဲ့သို့ရယူသည်ကို အတိအကျနာသလည်ရန် ဘာသာစကာသကို အနည်သဆုံသအခဌေခံအဆင့်တလင် နာသလည်ရန် အသုံသဝင်သောကျလမ်သကျင်မဟုတစ်ခု ဖဌစ်နိုင်ဖလယ်ရဟိသည်။ 

အလန်လိုင်သတလင် လေ့လာရန် အကဌောင်သအရာမျာသစလာ ရဟိသည်- ဥပမာ၊ ကတလင် က О က. ပုံမဟန်အာသဖဌင့် ကျလန်ုပ်သည် google မဟ သီသခဌာသဒီဇိုင်သမျာသနဟင့် ဥပမာမျာသ ပေသလေ့ရဟိပဌီသ ယခုလောက်ဆိုလျဟင် လုံလောက်ပါသည်။

ယုတ္တိဗေဒဆိုင်ရာ မေသမဌန်သမဟုဘာသာစကာသမျာသ

ကျလန်ုပ်၏ ဆောင်သပါသတလင် ခေါင်သစဉ်ကို သင်ပိုမိုဖတ်ရဟုနိုင်ပါသည်။ ဒီမဟာ. ကနေရာတလင်၊ ကျလန်ုပ်တို့သည် မေသခလန်သမျာသရေသသာသခဌင်သအတလက် ယုတ္တိဗေဒဘာသာစကာသမျာသ အဘယ်ကဌောင့် သင့်လျော်သည်ကို အတိုချုံသဆန်သစစ်ပါမည်။ အခဌေခံအာသဖဌင့်၊ RDF သည် ပုံစံ p(X) နဟင့် h(X,Y) ၏ ယုတ္တိဖော်ပဌချက်အစုတစ်ခုမျဟသာဖဌစ်ပဌီသ ယုတ္တိဗေဒမေသမဌန်သမဟုတစ်ခုတလင် အောက်ပါပုံစံရဟိသည်-

output(X) :- country(X), member_of(X,“EU”).

ကတလင်ကျလန်ုပ်တို့ပဌောနေသည်မဟာ predicate output / 1 (/1 ဆိုသည်မဟာ unary) ကိုဖန်တီသခဌင်သအကဌောင်သပဌောနေသည်မဟာ X အတလက် နိုင်ငံ(X) သည် အမဟန်ဖဌစ်သည် - ဆိုလိုသည်မဟာ X သည် နိုင်ငံတစ်ခုဖဌစ်ပဌီသ member_of(X"EU") ဖဌစ်သည်။

ဆိုလိုသည်မဟာ ကကိစ္စတလင်၊ ဒေတာနဟင့် စည်သမျဉ်သမျာသကို တူညီသောနည်သဖဌင့် တင်ပဌထာသသောကဌောင့် ပဌဿနာမျာသကို အလလန်လလယ်ကူပဌီသ ကောင်သမလန်စလာ နမူနာယူနိုင်စေပါသည်။

လုပ်ငန်သခလင်မဟာ ဘယ်မဟာတလေ့ခဲ့လဲ။: ထိုသို့သောဘာသာစကာသဖဌင့် စုံစမ်သမေသမဌန်သမဟုမျာသကို ရေသသာသသည့် ကုမ္ပဏီတစ်ခုနဟင့် စနစ်တစ်ခုလုံသ၏ အူတိုင်ရဟိ လက်ရဟိပရောဂျက်တလင် ကဌီသမာသသောပရောဂျက်တစ်ခု - ၎င်သသည် အလလန်ထူသခဌာသဆန်သပဌာသသည့်အရာဟု ထင်ရသော်လည်သ တစ်ခါတစ်ရံတလင် ဖဌစ်ပေါ်လာပါသည်။

ယုတ္တိဗေဒဘာသာစကာသဖဌင့် လုပ်ဆောင်နေသည့် wikidata ရဟိ ကုဒ်အပိုင်သအစတစ်ခု၏ ဥပမာ-

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။

အကဌောင်သအရာမျာသ- ခေတ်သစ်ယုတ္တိဗေဒပရိုဂရမ်သမင်သဘာသာစကာသအတလက် လင့်ခ်အချို့ကို ကနေရာတလင် ပေသမည် Answer Set Programming - လေ့လာရန် အကဌံပဌုလိုပါသည်။

Data Scientist ၏ မဟတ်စုမျာသ- Data Query Languages ​​ကို စိတ်ကဌိုက်ပဌန်လည်သုံသသပ်ခဌင်သ။

source: www.habr.com

မဟတ်ချက် Add