BigData – Telegram
427 subscribers
231 photos
7 videos
75 files
213 links
معرفی کلان داده ها و فناوری های مرتبط

📞ارتباط با ادمین :
فقط روز چهارشنبه ساعت ۲۲ الی ۲۳
@Golnazardeshiri
-
Download Telegram
Hashing

درهم سازی :

 روشی که حجم زیادی از داده (احتمالاً حجم نامشخصی از داده) را به یک عدد طبیعی تبدیل کند یک تابع هش یا تابع درهم‌سازی می‌گویند.
 عدد طبیعی حاصل از تابع درهم‌سازی معمولاً به عنوان اندیس یک آرایه مورد استفاده‌است. مقادیری حاصل از این تابع را معمولاً مقدار هش یا فقط هش می‌خوانند.

توابع درهم‌سازی بیشتر برای سرعت بخشیدن در جستجوی جداول یا فشرده‌سازی داده‌ها استفاده می‌شوند مانند جستجوی چیزی در یک پایگاه داده، تشخیص رکوردهای تکراری در حجم زیاد داده یا کشیدگی‌های مشابه در دنباله دی‌ان‌ای (DNA) و بسیاری کاربردهای مشابه.
تحلیل آماری اینستاگرام برای کاربران فارسی – بخش اول

این مطلب توسط استاد مجتبی بنائی هفته پیش در وبسایت bigdata.ir انتشار داده شده است :

چند روز پیش مطلبی خواندم راجع به تحلیل آماری پستهای اینستاگرام و پاسخگویی به این سوال که آیا تعداد برچسب های در هر پست ، تاثیری در افزایش تعداد لایک ها دارد یا نه.

کنجکاو شدم که خودم یک تحلیل آماری روی اینستاگرام انجام بدهم و اطلاعات کاربران و پستها را در مرحله اول جمع آوری و در مرحله دوم آنها را تحلیل کنم و به سوالاتی از قبیل زیر بتوانم پاسخ آماری مناسبی پیدا کنم :

متوسط تعداد پستهای کاربران ایرانی در یک هفته چقدر است ؟

میزان لایک پستها با تعداد برچسب ها (هش تگ ها) ارتباطی دارد یا نه ؟

چه زمان از شبانه روز بیشترین فعالیت را در اینستاگرام داریم ؟

لایک کردن پستهای دیگران توسط یک کاربر،  تاثیری در میزان لایک شدن پستهای او دارد یا نه؟

چه برچسب هایی بیشترین رواج را در بین ایرانیان دارند ؟

غیر از سلبریتی ها و افراد ، چه موضوعاتی بیشترین محبوبیت را در بین کاربران دارد ؟

کدام شهرهای ایران به نسبت جمعیتشان ، فعالیت بیشتری در اینستاگرام دارند ؟موضوع روز و داغ الان جامعه چیست ؟

موضوعات و سوالات مختلفی که می توان راجع به این شبکه اجتماعی مبتنی بر عکس که در ایران به صورت قانونی در حال فعالیت است ، پرسید و با جمع آوری و تحلیل داده های اینستاگرام،‌ به آنها پاسخ گفت.

با چند پرسش و جوی ساده در اینترنت ، راه حل ساده ای برای استخراج اطلاعات پیدا کردم که در بخش اول این آموزش، این یافته ها را به همراه کدهای مورد نیاز و اطلاعاتی که جمع آوری کرده ام را در اختیار علاقه مندان قرار می دهم که بتوان به راحتی به جمع آوری داده پرداخت و در مرحله بعد روی آنها شروع به تحلیل نمود.
پیش نیازها و ابزارهای لازم

در گام اول نیاز دارید که یک اکانت در اینستاگرام داشته باشید. بعد از ورود به اینستاگرام ، برای اینکه بتوانید به استخراج اطلاعات بپردازید، نیاز دارید که یک برنامه کاربردی در بخش توسعه گران اینستاگرام ایجاد کنید.
این کار را هم انجام دهید. آدرس سایت را هم می توانید یک آدرس غیر معتبر فعلاً وارد کنید هر چند برای کار حرفه ای با اینستاگرام ، حتما به یک آدرس معتبر نیاز خواهید داشت. 
بعد از ساخت یک برنامه کاربردی در اینستاگرام ،‌ شماره مشتری خود یا همان Client ID را جایی ذخیره کنید که با شماره مشتری ای که در فایلهای برنامه قرار داده ام ، جایگزین کنید .

کدها را با پایتون نوشته ام و اگر قصد تغییر در آنها و یا اجرای مجدد آنها را دارید،‌ نیاز به نصب خود پایتون(نسخه ۲ یا ۳) و محیط برنامه نویسی پای چارم (که نسخه رایگان هم دارد ) را دارید.

اگر پایتون کار نکرده اید اصلا نگران نباشید، کدهای پایتون به قدری ساده هستند که با همین کدهای پروژه دستتان راه می افتد اما اگر می خواهید مروری بر پایتون داشته باشید، به منابعی که در این مقاله اشاره شده است، رجوع کنید. فقط یادتان باشد که در پایتون فضاهای خالی بسیار مهم هستند و یک اسپیس کم یا زیاد برنامه را دچار خطا می کند.

تنها کتابخانه ای که در این مرحله نیاز دارید نصب کنید کتابخانه langdetect و requests روی پایتون است که به کمک اولی، زبان یک متن را تشخیص می دهیم و ارسال درخواست به یک آدرس اینترنتی را هم با کمک کتابخانه دوم انجام میدهیم .

برای نصب آن هم در پای چارم وارد بخش تنظیمات شوید و در زیر منوی تنظیمات پروژه ، مفسر پروژه را انتخاب کنید (مفسر پروژه همان نسخه پایتونی است که قصد استفاده از آنرا دارید و روی سیستم شما نصب شده است) . اگر برای بار اول است که این صفحه را باز می کنید، یک پیام زرد رنگ در پایین پنجره نمایش داده می شود که به شما می گوید نیاز به نصب ابزارهای اولیه دارد . روی این پیام کلیک کنید تا عملیات نصب به صورت خودکار انجام شود.
بعد از این کار، از دکمه + که بالای صفحه مشاهده می کنید استفاده کنید تا وارد صفحه جستجوی کتابخانه ها شود. langdetect و requests را جستجو کرده و با زدن دکمه Install آنرا نصب کنید . (به شکل بالا رجوع کنید)

پروژه ایجاد شده را از این آدرس در گیت هاب دانلود کنید :

https://github.com/smbanaie/instagram_analysis

بهترین راه دانلود آن هم البته این است که اگر یک اکانت در گیت هاب دارید و با آن وارد گیت هاب شده اید ، بر روی دکمه Fork روی این مخزن کد کلیک کنید تا کدها به حساب کاربری شما منتقل شود سپس پروژه را روی سیستمتان کلون گرفته و آنرا با پای چارم باز کنید . به این ترتیب تغییرات شما هم می تواند مجددا به مخزن کد خودتان در گیت هاب منتقل شود .

برای شروع کار هر چه لازم داشته ایم ، آماده شده است.
آشنایی با توابع ایستاگرام – Instagram API

قبل از شروع به کار ، بد نیست نگاهی به اطلاعاتی که ایستاگرام در اختیار ما می گذارد بیندازیم . هر چند می توانیم از کتابخانه هایی که اینستاگرام برای زبانهای برنامه نویسی مختلف نوشته است استفاده کنیم اما چون اینستاگرام یک روش فراخوانی توابع به صورت REST‌ هم در اختیار می گذارد و کافیست یک آدرس وب را فراخوانی کنیم تا اطلاعات عمومی یک کاربر خاص ، آخرین پستها راجع به یک برچسب ،‌آخرین پستهای یک کاربر ، افرادی که یک پست را لایک کرده یا کامنت گذاشته اند و … را به راحتی به دست بیاوریم . برای مشاهده لیست کامل توابعی که اینستاگرام در اختیار ما می گذارد به بخش نقاط فراخوانی یا EndPoints‌ از منوی توسعه گران اینستاگرام مراجعه کنید .

مثلا برای مشاهده آخرین مطالبی که راجع به یک برچسب در ایستاگرام ارسال شده است،‌ این نقطه فراخوانی را داریم :

https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN

که البته ما آنرا به صورت

https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN

فراخوانی می کنیم . مثلا برای یافتن آخرین پستهای راجع به آنفولانزایی که جدیداً شایع شده است این آدرس را فراخوانی می کنیم :‌

https://api.instagram.com/v1/tags/آنفولانزا/media/recent?client_id=baad7b9aa14041c5bb2dc1f9b477447c

که البته اگر روی آن کلیک کنید اطلاعات را به صورت جی سان و نامرتب مشاهده می کنید .

توصیه می کنم برای مشاهده خروجی این نقاط فراخوانی حتما از افزونه Postman‌ در مرورگر کروم استفاده کنید تا خروجی را به این شکل مشاهده کنید و بتوانید هر درخواست را با توضیح مناسب برای مراجعات بعدی خودتان ذخیره کنید .
رای مشاهده آخرین پستهای یک یوزر ،‌ افرادی که یک پست را لایک کرده اند، افرادی که برای یک پست نظر گذاشته اند و نیز اطلاعات یک پست (media) که در این برنامه استفاده کرده ایم  از نقاط فراخوانی زیر استفاده کرده ایم :

https://api.instagram.com/v1/users/{user-id}/media/recent/?access_token=ACCESS-TOKEN

https://api.instagram.com/v1/media/{media-id}/likes?access_token=ACCESS-TOKEN

https://api.instagram.com/v1/media/{media-id}}/comments?access_token=ACCESS-TOKEN

https://api.instagram.com/v1/media/{media-id}?access_token=ACCESS-TOKEN

می توانید هر کدام از این لینکها را با داده هایی که از با جستجوی مطالب یک برچسب به دست می آورید (شماره شناسایی یک پست ، شماره شناسایی یک کاربر) بررسی کنید و اطلاعات مفیدی را به صورت چشمی درون postman مشاهده کنید . قبل از اینکه حتی به سراغ کد نویسی برویم .

جمع آوری اطلاعات

برای جمع آوری اطلاعات راجع به پست ها و اینکه به ازای هر پست چه تعداد برچسب و چه تعداد لایک و چه تعداد نظر داریم، استراتژی ساده زیر را پیاده کرده ام :

۱. ابتدا چند برچسب مشخص را در اینستاگرام جستجو کردم (GenerateTags.py) و از بین نتایج ، برچسب های آنها را در یک فایل ذخیره کردم (tags.txt).

همانطور که می بینید کدها بسیار ساده و گویا هستند .
کته ای که وجود دارد در خط ۲۲ بررسی کرده ام که اگر برچسب یک برچسب فارسی باشد ، آنرا به خروجی اضافه کنم چون به دلیل نزدیک عربی با فارسی و کلمات مشترک زیادی که بین این دو زبان هست ، در نتایج جستجو ، گاهی پستهای عربی هم ظاهر می شد که سعی کردم به این صورت آنها را کنترل کنم و خط آخر هم سعی کردم تگ های تکراری را با فایل کتابخانه ایکه به صورت بسیار ساده نوشته ام ، حذف کنم.

۲. در مرحله بعد ، از روی این تگ ها که تعدادشان زیاد شده است، مجددا آخرین پستهای آنها را خوانده (GetMediasFromTags.py) و پستها را در یک فایل ذخیره کردم (medias.txt) .

۳. با این کار ،‌ حدود هزاران مطلب داریم که می توانیم کاربرانی که آنها را لایک کرده اند یا کامنت گذاشته اند را استخراج کنیم (GetUserIdFromMedias.py) . با این روش سعی کرده ام که کاربران کاملا تصادفی را برای تحلیل انتخاب کنم  . (user_ids.txt)

۴. در مرحله آخر ، اطلاعات پستهای هر کاربر را استخراج می کنیم (GetInfoFromUsers.py) و در یک فایل  csv ذخیره می کنیم (info.csv) . البته اطلاعات بسیار زیادتری می توان راجع به یک کاربر و پستهای او هم ذخیره کرد مثلاً متن پستها یا برچسب ها یا تعداد دنبال کنندگان و تعداد دنبال شوندگان کاربر که آنرا به عهده خواننده می گذاریم .

در آموزش بعدی به استفاده از این داده ها و ساخت نمودارهای مختلف آماری خواهیم پرداخت ….
تجربه کردن، به تنهائی کافی نیست، تجربه را باید سنجید و در جایگاه خویش قرار داده و آن را تجزیه و تحلیل نمود تا بتوان به نتایج آن دست یافت.

چند قدم مانده به یلدا
به شبی خاطره انگیز و بلند
به سفیدی زمستان و اناری که دلش قصه ی یکرنگی است.
یلدایتان پیشاپیش مبارک🍉

با سلام و درود خدمت دوستان عزیز.
آخرین روز پاییزتون گرم و زیبا🍂🍁🔥

امروز با یاد پروردگار ادامه مطالب روش های تحلیل کلان داده ها را با هم دنبال خواهیم کرد.🙏

لازم به ذکر است پایه و اساس آموزش گام گام بر اساس سر فصل های کتاب کلان داده ها ترجمه دکتر امیر مسعود رحمانی است.

با تشکر از توجه شما🌷

گلناز اردشیری

@BigDataTechnology
روش تحلیل کلان داده ها

Index
شاخص :

موارد استفاده :
"پایگاه داده های رابطه ای سنتی، فناوری مدیریت داده های نیمه ساخت یافته و غیر ساخت یافته"

مزایا :کاهش هزینه خواندن و نوشتن در دیسک
بهبود در سرعت درج،حذف،اصلاح پرس و جو

معایب: هزینه اضافی ذخیره سازی فایل های شاخص
دانلود بسته مجازی هدوپ

مرجع هدوپ ایران برای سهولت در استفاده از فریم ورک هدوپ و آشنایی سریع با توانایی های آن،بسته ماشین مجازی هدوپ اختصاصی خود را برای دانلود ارائه می کند. لازم به ذکر است این بسته ماشین مجازی دارای حجمی کمتر از ماشین های مجازی متداول نظیر Cloudera و Hortonworks (نزدیک به ۹۵۰ مگابایت) و همینطور ساده تر از آنها می باشد. با راه اندازی این بسته می توانید به سرعت با هدوپ کار کنید بدون اینکه درگیر مشکلات نصب شوید.

http://hadoop.ir/box/
ﺯﻣﺴﺘﺎﻥ ڪم ڪم می آید
ﺩﻭﺭ ﻗﻠﺒﺘﺎﻥ ﺷﺎﻝ ﮔﺮﺩﻥ ﺑﭙﯿﭽﯿﺪ
ڪہﺩﺭ ڪﻮﻻﮎ آﺩﻣﻬﺎے ﯾﺦ ﺯﺩﻩ ﺍﯾﻦ ﺩﯾﺎﺭ،ﻣﻨﺠﻤﺪ ﻧﺸﻮﺩ ....🍃
ﻣﻮﺍﻇﺐ ﺳﺮﻣﺎے ﺳﻮﺯﺍﻥ ﻧﺎﻣﻼﯾﻤﺘے ﻫﺎﯼ ﺍﯾﻦ ﺩﻧﯿﺎ ﺑﺎﺷﯿﺪ،
ﻣﺒﺎﺩﺍ ﺭﻭﺣﺘﺎﻥ ﺳﻨﮓ ﺷﻮﺩ ...
ﺣﻮﺍﺳﺘﺎﻥ ﺑﻪ ﺑﺮﮔﻬﺎے ﺯﯾﺮ ﭘﺎﯾﺘﺎﻥ ﺑﺎﺷﺪ،
ﺍﻧﻬﺎ ﺭﻭﺯے ﻋﺮﻭﺱ ﺩﺭﺧﺘےﺑﻮﺩﻧﺪ،
ﻟﻬﺸﺎﻥ ﻧڪﻨﯿﺪ
ﺧﻼﺻﻪ ﺯﻣﺴﺘﺎﻥ ﺯﯾﺒﺎ ﺍﻣﺪﻩ ،🌞
ﻣﻮﺍﻇﺐ ﺍﻧﺴﺎﻧﯿﺘﻬﺎے ﺑﻪ ﺧﻮﺍﺏ ﺯﻣﺴﺘﺎﻧے ﺭﻓﺘﻪ ﺑﺎﺷﯿﺪ ...

ﺯﻣﺴﺘﺎﻧﺘﺎﻥ ﺯﯾﺮ ڪﺮﺳے ﻋﺸﻖ،ﮔﺮﻡ ﮔﺮﻡ...ツ

سلام و درود به دوستان عزیز بیگ دیتا
امروز با یاد پرورگار مهربان با ادامه بحث دیروز در خدمت شما هستم.

با تشکر با توجه شما 🌷

گلناز اردشیری
@BigDataTechnology
Forwarded from Ping Channel
اتحادیه ITU نخستین استاندارد برای کلان‌داده‌ها را تدوین کرد.
اتحادیه بین‌المللی ITU وابسته به سازمان ملل متحد که سال‌هاست با کار بر روی مباحث فنی فراوان تلاش کرده همکاری جمعی در این زمینه‌ها را شکل دهد، جمعه گذشته نخستین استاندارد جهانی در حوزه کلان‌داده‌ها (Big Data) را عرضه کرد.
http://bigdatasp.com/wp-content/uploads/2015/06/bd5.jpg
استاندارد تازه بین‌المللی، حاوی پیش‌نیازها، قابلیت‌ها و کاربردهای کلان‌داده‌های مبتنی بر فضای ابری است. در استاندارد مزبور بر این مسئله هم تاکید شده که منافع این فناوری می‌تواند در یک مقیاس جهانی بدست آید.
این استاندارد ضمنا شرح می‌دهد که چگونه سیستم‌های پردازش ابری می‌توانند موجب پدید آوردن کلان‌داده‌ها گردند. به گفته یکی از مدیران ITU استاندارد ارائه شده جدید، مبانی جهانی مورد توافق برای کلان‌داده‌های مبتنی بر فضای ابری را فراهم کرده است.
در تشریح این استاندارد جدید، موضوعاتی مانند توصیه‌ها و الزامات جمع‌آوری داده‌ها، مشاهده، تحلیل و ذخیره‌سازی، و نیز مسائلی مانند ملاحظات امنیتی ذکر شده است.با این حال ظاهرا در این استاندارد، تفاوت قابل ملاحظه‌ای با شرایط و ضوابط حاکم بر شرکت‌ها و وضعیت کنونی به چشم نمی‌خورد.
به نظر می‌رسد این نکته از این واقعیت سرچشمه می‌گیرد که غالبا در فضای فناوری‌های جدید و پیش از شکل گرفتن استاندارد رسمی، شرکت‌ها و سازندگان نوعی توافق و هماهنگی میان یکدیگر را شکل می‌دهند که در نتیجه آن، چندگانگی و اختلاف رویه‌ها کاهش می‌یابد. به گفته یک کارشناس، این هماهنگی در فضای فناوری کلان‌داده‌ها هم اتفاق افتاده و نتیجتا توافق جمعی را پیش‌تر شکل داده است.
منبع: http://www.itu.int/en/ITU-T/techwatch/Pages/big-data-standards.aspx
روش تحلیل کلان داده ها

Triel

درخت پیشوندی :
نوعی درخت در هم ساز است.
در اصل برای بازیابی سریع به دست آوردن آمار فراوانی کلمات (word frequency) استفاده می شود.
ایده اصلی استفاده از پیشوند های مشترک رشته های کاراکتری است تا برای بهبود کارایی پرس و جو، تعداد مقایسه روی رشته های کاراکتری در بزرگ ترین اندازه را کاهش میدهد.

منبع :  کتاب کلان داده ها ترجمه دکتر امیر مسعود رحمانی