content top
SQL Server R Services הלכה למעשה ל DBA – חלק א

SQL Server R Services הלכה למעשה ל DBA – חלק א

מה זה R

במאמר זה אני אעסוק בשילוב של R עם SQL 2016 . רקע טוב על R ומהו Data Science תוכלו למצוא בהרצאה שלי
ב SQL Pass Hebrew Chapter

 

David Yitzhak: Practical SQL 2014 Data Mining and introduction to R

בכתובת :

http://globalhebrew.sqlpass.org/en-us/home.aspx?EventID=2343

למאמר יש script בשם SQL_2016_R_Demo_Configuration.sql מלא דוגמאות ומתועד היטב , תוכלו להיעזר בו לצורך תרגול . המאמר מיועד ל DBA ומתחילים בנושא . ההדגמה מול SQL 2016 CTP3 ו AdventureWork עבור SQL 2016 CTP3 , שניתן להוריד מאתר הדוגמאות של מיקרוסופט Codeplex .

ממש בקצרה :

R היא שפת קוד פתוח לחישובים סטטיסטיים עיבוד והצגת מידע בצורה גרפית. R פותחה ע"י סטטיסטיקאים לסטטיסטיקאים ולא עבור מפתחים ולכן היא קלה לשימוש . R משמש כאלטרנטיבה לשימוש בתוכנות סטטיסטיות כמו SAS , SPSS. R היא סביבה "חזקה" המאפשרת עיבוד והצגה גרפית של מידע עם מינימום קוד. R ניתן להרחבה בקלות ע"י כתיבה של חבילות ופונקציות אותם ניתן לחלוק עם ארגונים אחרים או הקהילה דרך CRAN בכתובת http://cran.r-project.org/ . ל R למעלה מ 5000 חבילות כמעט בכול תחום אפשרי : ביואינפורמטיקה , ניתוח פיננסי , מודלים לינארים ולא לינארים ועוד .. פרויקט R בכתובת http://www.r-project.org/ . ע"פ 2014 Data Science Salary Survey היא הכי פופלרית . בקיצור אין לכם בררה ועלכם להכיר R………

R משמשת עבור Machine Learning (ML) שהוא השם העכשווי ל Data mining . SQL Server Data mining מכיל סט סגור של מודלים ויכול לשמש כנקודת התחלת טובה לצורך חקר והצגת המידע דרך האשפים המובנים. R לעומת זאת דורש ידע והבנה סטטיסטיים. R כידוע מובנה ב Azure ML.

Package בשם Rattle מאפשר עבוד נתונים, בנית מודלים של Data Mining ובדיקתם R ללא הכרה של R בצורה גרפית מהירה. קוד R שמייצור הכלי לכול לשמש בהמשך הפרויקט .

RStudio הוא כלי גרפי לעבודה עם R בכתובת http://www.rstudio.com. הכלי הגרפי היותר מומלץ ואיתו נעבוד הוא Revolution Analytics : Revolution R Open . בהמשך .

SQL Server R Services רקע כללי

SQL Server R Services הוא שילוב של R כחלק מהמנוע של SQL Server 2016. יש לכך מספר יתרונות בולטים :

· יכולת לקרוא ל script ב R דרך פרוצדורות ב T SQL . בצורה כזו ניתן לבצע סיכומים ובניית מודלים ישירות על המידע בבסיסי הנתונים בשרתי היצור , לנצל את המשאבים בשרת ה DB ולחסוך תעבורת רשת מיותר לשרתי אפליקציה .

· לשפת R בגרסה הפתוחה והבסיסית יש מגבלות של ביצועים וסקלאביליות . ע"י שימוש ב RevoScaleR package APIs של SQL Server R Services ניתן לעבוד על datasets גדולים ולהשתמש ביכולות להשתמש בריבוי נימים , ריבוי ליבות וריבוי תהליכים של ה DB . כידוע ,מיקרוסופט רכשה את חברת Revolution, והחלה לשלב את ההרחבות הללו של Revolution עבור R במוצריה ובפרט SQL Server . אגב חברת Oracle עושים את זה מזה מספר שנים עם Oracle® R Enterprise.

SQL Server R services כולל רכיב שרת ו Client שמותקנים בשרת SQL Server.

רכיבי השרת הם :

· Advanced Analytics Extensions – יש לבצע התקנה של רכיב זה, בעת ההתקנה של SQL Server, מה שמאפשר ביצוע scripts של R בשרת ה DB בצורה מאובטחת. בעתיד אמורה להיות תמיכה של SQL Server ב JSON ובשפת Python . Python בדומה ל R , משמשת גם עבור Data Science , ויש לה ביצועים משופרים בגרסאות החדשות והפופולאריות שלה רק עולה במיוחד בעולם ה Big Data . בעת ההתקנה של רכיב זה מותקן Service for Advanced Analytics Extensions . יש לוודא שהוא במצב Started ו Running .

· Revolution R Open 3.2.2 for Revolution R Enterprise 7.5.0 או בשם החדש Microsoft R Open –הפצות של R כקוד פתוח המכיל packages וכלים שונים לפיתוח.

· Download Center: http://go.microsoft.com/fwlink/?LinkId=626650http://go.microsoft.com/fwlink/?LinkId=626650

· Instructions: Install R Packages and Providers for SQL Server R Services

· Revolution R Enterprise 7.5.0 – מאפשר שימוש של R בסביבת Enterprise וכולל חבילות ופונקציות R מורחבות ומשופרות, ספריות מתמטיות של אינטל המאפשרים לבנות אלגוריתמים ב R שמשתמשים בעבודה מקבילית.

· Download Center: http://go.microsoft.com/fwlink/?LinkId=626652

· Instructions: Install R Packages and Providers for SQL Server R Services

רכיבי ה client הם Revolution R Enterprise 7.5.0 ו Revolution R Open 3.2.2 for Revolution R Enterprise 7.5.0. אלה מאפשרים למפתחים של R ו Data Scientists חקירה של המידע ובנית מודלים מה Client . אחרי שהקוד של R נבנה , אפשר לשלב אותו כחלק מהקוד של T SQL .

בחלק הראשון נדגים עבודה בסיסים עם R למתחילים ו DBAs . בשלב הבא נדגים עבודה בסיס עם R Console עבור DBA ועבור מתחילים . בהמשך נראה כיצד ניתן להריץ את אותו קוד דרך T SQL .

עבודה בסיסית עם R

נפתח את RRO for RRE 7.5. 64-bit ע"י הפעלת הקובץ C:\Program Files\RRO\RRO-3.2.2-for-RRE-7.5.0\R-3.2.2\bin\x64\Rgui.exe .

clip_image002

יפתח ה Console של R . נרשום את התרגיל הבא 3 בחזקת 2 ועוד 6 לחלק ל 3 ועוד 2 . נקיש enter ובשורה הבאה נקבל את התוצאה 13 .

> + 3^2+6/3+2

[1] 13

וקטור מחזיק מספר ערכים באותו סוג בסדר מסוים . בשביל לשמוע מידע עבור וקטור ששמו temperatures נשתמש בפקודה הבאה : C , פתח סוגריים , ערכי הווקטור עם פסיק ביניהם וסגור סוגריים וחץ שמפנה לשם הווקטור :

> temperatures<-c(3, 3.76, -0.35, 1.2, -5)

בשביל לראות את ערכי הווקטור

> temperatures

[1] 3.00 3.76 -0.35 1.20 -5.00

נשתמש בפונקציה length לקבל את אורך הווקטור

> length(temperatures)

[1] 5

נפנה לאבר המתאים בווקטור ע"י שם הוקטור , סוגריים מרובעים עם מספר האיבר . דוגמא בשביל לשלוף את האבר השלילי ווקטור נשתמש בהבא :

> temperatures[3]

[1] -0.35

נשתמש בפונקציה mean לקבל את ממוצע הווקטור :

> mean(temperatures)

[1] 0.522

צילום המסך המתאים להלן מתוך ה Console :

clip_image004

להתראות בחלק הבא !


כתיבת תגובה

האימייל לא יוצג באתר. (*) שדות חובה מסומנים

twelve − seven =