ETL کیا ہے؟
ETL ایک ایسا عمل ہے جو ایک سے زیادہ سورس سسٹمز سے ڈیٹا نکالتا ہے، اسے تبدیل کرتا ہے (حساب، کنکٹیشن، وغیرہ کے ذریعے)، اور پھر اسے ڈیٹا ویئر ہاؤس سسٹم میں ڈالتا ہے۔ ETL کا مطلب ایکسٹریکٹ، ٹرانسفارم اور لوڈ ہے۔
یہ یقین کرنا آسان ہے کہ ڈیٹا گودام بنانا اتنا ہی آسان ہے جتنا کہ متعدد ذرائع سے ڈیٹا نکالنا اور اسے ڈیٹا گودام کے ڈیٹا بیس میں فیڈ کرنا۔ یہ معاملہ سے بہت دور ہے، اور ایک پیچیدہ ETL طریقہ کار کی ضرورت ہے۔ ETL عمل، جو تکنیکی طور پر پیچیدہ ہے، اس میں متعدد اسٹیک ہولڈرز کی فعال شرکت شامل ہے، بشمول ڈویلپرز، تجزیہ کار، ٹیسٹرز، اور سینئر ایگزیکٹوز۔
فیصلہ سازی کے آلے کے طور پر اس کی قدر کو محفوظ رکھنے کے لیے، ڈیٹا گودام کے نظام کو کاروباری پیش رفت کے ساتھ ہم آہنگی کے ساتھ تیار کرنا چاہیے۔ ETL ڈیٹا گودام کے نظام کا ایک باقاعدہ (روزانہ، ہفتہ وار، ماہانہ) عمل ہے جس کو چست، خودکار، اور مناسب طریقے سے دستاویزی ہونا چاہیے۔
ETL کیسے کام کرتا ہے؟
یہاں ہم سیکھیں گے کہ ETL عمل کس طرح مرحلہ وار کام کرتا ہے:
مرحلہ 1) نکالنا
ڈیٹا سورس سسٹم سے نکالا جاتا ہے اور نکالنے کے دوران سٹیجنگ ایریا میں رکھا جاتا ہے۔ اگر کسی تبدیلی کی ضرورت ہو، تو وہ سٹیجنگ ایریا میں کی جاتی ہیں تاکہ سورس سسٹم کی کارکردگی کو نقصان نہ پہنچے۔ اگر نقصان شدہ ڈیٹا کو ماخذ سے براہ راست ڈیٹا گودام ڈیٹا بیس میں منتقل کیا جائے تو رول بیک مشکل ہو گا۔ نکالے گئے ڈیٹا کو ڈیٹا گودام میں منتقل کرنے سے پہلے، اس کی تصدیق اسٹیجنگ ایریا میں کی جا سکتی ہے۔
ڈیٹا گودام مختلف ہارڈ ویئر، ڈیٹا بیس مینجمنٹ سسٹم، آپریٹنگ سسٹم، اور کمیونیکیشن پروٹوکول کے ساتھ سسٹمز کو جوڑ سکتے ہیں۔ ڈیٹا گوداموں کو سسٹمز کو مختلف DBMS، ہارڈویئر، آپریٹنگ سسٹمز، اور کمیونیکیشن پروٹوکول کے ساتھ جوڑنا چاہیے۔ ذرائع میں میراثی پروگرام جیسے مین فریمز، حسب ضرورت ایپلی کیشنز، پوائنٹ آف کنٹیکٹ ڈیوائسز جیسے اے ٹی ایم اور کال سوئچز، ٹیکسٹ فائلز، اسپریڈ شیٹس، ERP، وینڈرز اور پارٹنرز کا ڈیٹا، وغیرہ شامل ہو سکتے ہیں۔
اس طرح، ڈیٹا کو نکالنے اور اسے جسمانی طور پر لوڈ کرنے سے پہلے، ایک منطقی ڈیٹا میپ کی ضرورت ہوتی ہے۔ ذرائع اور ٹارگٹ ڈیٹا کے درمیان تعلق اس ڈیٹا میپ میں دکھایا گیا ہے۔
ڈیٹا نکالنے کے تین طریقے:
- جزوی نکالنا - اگر ریکارڈ میں ترمیم کرنے پر سورس سسٹم آپ کو الرٹ کرتا ہے، تو یہ ڈیٹا حاصل کرنے کا آسان ترین طریقہ ہے۔
- جزوی نکالنا (بغیر تازہ کاری کی اطلاع کے) - اپ ڈیٹ ہونے پر تمام سسٹم اطلاع نہیں دے سکتے۔ لیکن، وہ ان ریکارڈوں کی نشاندہی کر سکتے ہیں جنہیں تبدیل کیا گیا ہے اور ان ریکارڈوں کو نکالنے کی سہولت فراہم کر سکتے ہیں۔
- مکمل اقتباس - کچھ سسٹم اس بات کا تعین کرنے سے قاصر ہیں کہ کون سا ڈیٹا بالکل تبدیل کیا گیا ہے۔ اس منظر نامے میں، نظام سے ڈیٹا کو نکالنے کا واحد طریقہ مکمل اقتباس کرنا ہے۔ اس نقطہ نظر میں پچھلے نچوڑ کا بیک اپ رکھنے کی ضرورت ہے۔
جو تبدیلیاں کی گئی ہیں ان کی نشاندہی کرنے کے لیے ایک ہی فارمیٹ موجود ہے۔
قطع نظر اس کے کہ جو بھی طریقہ اختیار کیا گیا ہو، نکالنے کا ماخذ نظاموں کی کارکردگی یا ردعمل کے وقت پر کوئی اثر نہیں ہونا چاہیے۔ یہ ریئل ٹائم پروڈکشن ڈیٹا بیس ہیں۔ کسی بھی سست روی یا لاکنگ کا کمپنی کی نچلی لائن پر اثر پڑ سکتا ہے۔
مرحلہ 2) تبدیلی
سورس سرور سے حاصل کردہ ڈیٹا اپنی اصل حالت میں خام اور ناقابل استعمال ہے۔ نتیجے کے طور پر، اسے صاف، نقشہ سازی، اور تبدیل کرنا ضروری ہے. حقیقت میں، یہ وہ کلیدی مرحلہ ہے جہاں ETL عمل قدر میں اضافہ کرتا ہے اور بامعنی BI رپورٹس تیار کرنے کے لیے ڈیٹا کو تبدیل کرتا ہے۔
یہ ایک کلیدی ETL تصور ہے جس میں آپ نکالے گئے ڈیٹا پر فنکشنز کا مجموعہ لاگو کرتے ہیں۔ براہ راست اقدام or dat سے گزرناa ڈیٹا کی وہ قسم ہے جس میں کسی تبدیلی کی ضرورت نہیں ہے۔
آپ تبدیلی کے مرحلے کے دوران ڈیٹا پر حسب ضرورت کارروائیوں کو انجام دے سکتے ہیں۔ مثال کے طور پر، فرض کریں کہ کلائنٹ سیلز کی آمدنی چاہتا ہے جو ڈیٹا بیس میں موجود نہیں ہے۔ یا اگر ٹیبل میں پہلا اور آخری نام الگ الگ کالم میں ہیں۔ لوڈ کرنے سے پہلے، ان کو جوڑا جا سکتا ہے۔
ڈیٹا کی سالمیت کے مسائل کی کچھ مثالیں درج ذیل ہیں:
- ایک ہی فرد کے مختلف ہجے، جیسے پرشانت، پرشانت، وغیرہ۔
- کمپنی کے نام کی نمائندگی کرنے کے بہت سے طریقے ہیں، جیسے کہ Google, Google Inc.
- مختلف نام، جیسے کلیولینڈ اور کلیولینڈ، استعمال ہوتے ہیں۔
- یہ ممکن ہے کہ ایک ہی کلائنٹ کے لیے مختلف ایپلی کیشنز کے ذریعے متعدد اکاؤنٹ نمبر بنائے گئے ہوں۔
- کچھ ڈیٹا کی ضرورت والی فائلیں خالی رہ گئی ہیں۔
مرحلہ 3) لوڈ ہو رہا ہے۔
ای ٹی ایل کے عمل کا آخری مرحلہ ڈیٹا کو ٹارگٹ ڈیٹا گودام ڈیٹا بیس میں لوڈ کرنا ہے۔ ڈیٹا کی ایک بڑی مقدار کو ایک عام ڈیٹا گودام میں نسبتاً کم وقت میں لوڈ کیا جاتا ہے۔ نتیجے کے طور پر، لوڈ کے عمل کو کارکردگی کے لیے بہتر بنایا جانا چاہیے۔
لوڈ فیل ہونے کی صورت میں، ریکوری کے طریقہ کار کو لاگو کیا جانا چاہیے تاکہ ڈیٹا کی سالمیت پر سمجھوتہ کیے بغیر آپریشن ناکامی کے مقام سے دوبارہ شروع ہو سکے۔ ڈیٹا ویئر ہاؤس کے منتظمین کو سرور کی کارکردگی کی بنیاد پر لوڈز کی نگرانی، جاری رکھنے اور روکنا چاہیے۔
لوڈنگ کی اقسام:
- ابتدائی لوڈ - سب کو بھرنا
ڈیٹا گودام کی میزیں - اضافی بوجھ - نفاذ جاری ہے۔
مستقل بنیادوں پر ضرورت کے مطابق ترمیم - مکمل ریفریش - مواد کو صاف کرنا
ایک یا زیادہ جدولوں کا اور تازہ ڈیٹا کے ساتھ دوبارہ لوڈ کرنا
توثیق لوڈ کریں۔
- چیک کریں کہ کلیدی فیلڈ ڈیٹا غائب یا کالعدم نہیں ہے۔
- ٹارگٹ ٹیبلز پر مبنی ماڈلنگ کے خیالات کو جانچا جانا چاہیے۔
- مشترکہ اقدار3 اور حسابی اقدامات کا جائزہ لیں۔
- ڈائمینشن اور ہسٹری ٹیبلز میں ڈیٹا چیک کرتا ہے۔
- بھری ہوئی حقیقت اور طول و عرض کی میز پر BI رپورٹس کی جانچ کریں۔
PythonScript کا استعمال کرتے ہوئے ETL ترتیب دینا
نتیجے کے طور پر، آپ کو کاروباری ذہانت کے لیے ڈیٹا اکٹھا کرنے کے لیے متعدد ڈیٹا بیسز سے ڈیٹا گودام میں بنیادی ایکسٹریکٹ ٹرانسفارم لوڈ (ETL) کو عمل میں لانا چاہیے۔ بہت سے ETL پیکجز دستیاب ہیں جن کے بارے میں آپ کا خیال ہے کہ آپ کے بنیادی استعمال کے معاملے میں ضرورت سے زیادہ تھے۔
میں آپ کو اس مضمون میں MySQL، SQL-server، اور firebird سے ڈیٹا نکالنے کا طریقہ دکھاؤں گا۔ Python 3.6 کا استعمال کرتے ہوئے، ڈیٹا کو تبدیل کریں اور اسے SQL-server (ڈیٹا گودام) میں لوڈ کریں۔
سب سے پہلے، ہمیں اپنے پروجیکٹ کے لیے ایک ڈائرکٹری بنانا ہے:
python_etl |__main.py |__db_credentials.py |__variables.py |__sql_queries.py |__etl.py
Python کا استعمال کرتے ہوئے ETL کو ترتیب دینے کے لیے، آپ کو اپنی پروجیکٹ ڈائرکٹری میں درج ذیل فائلیں بنانا ہوں گی۔.
- db_credentials.py: تمام ڈیٹا بیس سے جڑنے کے لیے درکار تمام معلومات ہونی چاہئیں۔ جیسے ڈیٹا بیس پاس ورڈ، پورٹ نمبر وغیرہ۔
- sql_queries.py: سٹرنگ فارمیٹ میں ڈیٹا نکالنے اور لوڈ کرنے کے لیے عام طور پر استعمال ہونے والے ڈیٹا بیس کے سوالات دستیاب ہونے چاہئیں۔
- etl.py: ڈیٹا بیس سے جڑیں اور تمام ضروری طریقہ کار کو انجام دے کر مطلوبہ استفسارات کریں۔
- main.py: آپریشن کے بہاؤ کو منظم کرنے اور ایک مخصوص ترتیب میں ضروری کارروائیوں کو انجام دینے کے لئے ذمہ دار ہے۔
sql_queries.py کے اس حصے میں، یہ وہ جگہ ہے جہاں ہم سورس ڈیٹا بیس سے نکالنے اور اپنے ٹارگٹ ڈیٹا بیس (ڈیٹا گودام) میں درآمد کرنے کے لیے اپنے تمام sql سوالات کو ذخیرہ کرنے جا رہے ہیں۔
سیٹ اپ ڈیٹا بیس اسناد اور متغیرات
variables.py میں، بیس کا نام ریکارڈ کرنے کے لیے ایک متغیر بنائیں۔
datawarehouse_name = 'آپ کا_ڈیٹا ویئر ہاؤس_نام'
اپنے تمام سورس اور ٹارگٹ ڈیٹا بیس کنکشن سٹرنگز اور اسناد کو db_credentials.py میں ترتیب دیں جیسا کہ ذیل میں دکھایا گیا ہے۔ کنفیگریشن کو ایک فہرست کے طور پر محفوظ کریں تاکہ بعد میں جب بھی بہت سے ڈیٹا بیس کے ذریعے ضرورت ہو ہم اسے دوبارہ کر سکیں۔
متغیرات سے درآمد کریں datawarehouse_name datawarehouse_name = 'your_datawarehouse_name' # sql-server (target db, datawarehouse) datawarehouse_db_config = { 'Trusted_Connection': 'yes', 'driver': '{SQL Server}', 'server's: 'datawarehouse', 'datawarehouse' database': '{}'.format(datawarehouse_name), 'user': 'your_db_username', 'password': 'your_db_password', 'autocommit': True, } # sql-server (source db) sqlserver_db_config = [ {'Trussion ': 'yes', 'driver': '{SQL Server}', 'server': 'your_sql_server', 'database': 'db1', 'user' : 'your_db_username', 'password': 'your_db_password', ' autocommit': True, } ] # mysql (source db) mysql_db_config = [ { 'user': 'your_user_1', 'password': 'your_password_1', 'host': 'db_connection_string_1', 'database': 'db_1', } , { 'user': 'your_user_2', 'password': 'your_password_2', 'host': 'db_connection_string_2', 'database': 'db_2', }, ] # firebird (source db) fdb_db_config = [ { 'dsn' : "/your/path/to/source.db", 'user': "your_username", 'password': "your_password", } ]
ایس کیو ایل کے سوالات
sql_queries.py کے اس حصے میں، یہ وہ جگہ ہے جہاں ہم سورس ڈیٹا بیس سے نکالنے اور اپنے ٹارگٹ ڈیٹا بیس (ڈیٹا گودام) میں درآمد کرنے کے لیے اپنے تمام sql سوالات کو ذخیرہ کرنے جا رہے ہیں۔
ہمیں ہر ڈیٹا بیس کے لیے مختلف نحو کو نافذ کرنا ہوگا کیونکہ ہم متعدد ڈیٹا پلیٹ فارمز کے ساتھ کام کر رہے ہیں۔ ہم ڈیٹا بیس کی قسم کی بنیاد پر سوالات کو الگ کر کے ایسا کر سکتے ہیں۔
# مثال کے سوالات، مختلف db پلیٹ فارم پر مختلف ہوں گے firebird_extract = (''' SELECT fbd_column_1, fbd_column_2, fbd_column_3 FROM fbd_table؛ ''') firebird_insert = (''' INSERT INTO table (column_1, columnS) (column_2, columnS) ?, ?) ''') firebird_extract_3 = (''' SELECT fbd_column_2, fbd_column_1, fbd_column_2 FROM fbd_table_3؛ ''') firebird_insert_2 = (''' INSERT INTO table_2 (column_2, column_1,? ) ''') sqlserver_extract = (''' SELECT sqlserver_column_2, sqlserver_column_3, sqlserver_column_1 FROM sqlserver_table ''') sqlserver_insert = (''' INSERT INTO table, column, VALUE? ؟) '' ) mysql_extract = (''' mysql_column_2, mysql_column_3, mysql_column_1 mysql_table سے منتخب کریں ''') mysql_insert = (''' ٹیبل میں داخل کریں (کالم_2، کالم_3، ?') برآمد کریں ''، کالم_1، برآمد کریں؟ کلاس SqlQuery: def __init__(self, extract_query, load_query): self.extract_query = extract_query self.load_query = load_query # SqlQuery کلاس fbd_query = SqlQuery کے لیے مثالیں بنائیں d_insert_2) sqlserver_query = SqlQuery(sqlserver_extract , sqlserver_insert) mysql_query = SqlQuery(mysql_extract, mysql_insert) # سٹور برائے فہرست fbd_queries = [fbdquery, fbd_query_3] sqlserver_queries = [sqlserver_query] mysql_queries = mysql_queries
ٹرانسفارم لوڈ نکالیں۔
مندرجہ بالا اعداد و شمار کے ذرائع کے لیے ازگر کا استعمال کرتے ہوئے ETL ترتیب دینے کے لیے، آپ کو درج ذیل ماڈیولز کی ضرورت ہوگی۔
# ازگر کے ماڈیولز mysql.connector درآمد کریں pyodbc درآمد کریں fdb # متغیر سے متغیر درآمد ڈیٹا ویئر ہاؤس_نام
ہم اس میں دو تکنیک استعمال کر سکتے ہیں: etl() اور etl_process()۔
etl_process() ڈیٹا بیس سورس کنکشن قائم کرنے اور ڈیٹا بیس پلیٹ فارم کی بنیاد پر etl() طریقہ کو کال کرنے کا طریقہ کار ہے۔
اور دوسرے طریقہ میں جو کہ etl() طریقہ ہے، یہ پہلے extract query چلاتا ہے، پھر SQL ڈیٹا کو متغیر ڈیٹا میں اسٹور کرتا ہے اور اسے ٹارگٹڈ ڈیٹا بیس میں داخل کرتا ہے، جو کہ ہمارا ڈیٹا گودام ہے۔ ڈیٹا ٹرانسفارمیشن ٹائپ ٹیپل کے ڈیٹا متغیر کو تبدیل کر کے مکمل کیا جا سکتا ہے۔
def etl(query, source_cnx, target_cnx): # سورس سے ڈیٹا نکالیں db source_cursor = source_cnx.cursor() source_cursor.execute(query.extract_query) ڈیٹا = source_cursor.fetchall() source_cursor.close in load datahouse if #ware() ڈیٹا: target_cursor = target_cnx.cursor() target_cursor.execute("USE {}".format(datawarehouse_name)) target_cursor.executemany(query.load_query, data) print('data loaded to warehouse db') target_cursor.close( else : print('data is empty') def etl_process(استفسارات, target_cnx, source_db_config, db_platform): # source db کنکشن قائم کریں اگر db_platform == 'mysql': source_cnx = mysql.connector.connect(**source_if_db=config=config) 'sqlserver': source_cnx = pyodbc.connect(**source_db_config) elif db_platform == 'firebird': source_cnx = fdb.connect(**source_db_config) else: واپس کریں 'خرابی! غیر تسلیم شدہ db پلیٹ فارم' # sql استفسارات کے ذریعے لوپ سوالات میں استفسار کے لیے: etl(query, source_cnx, target_cnx) # سورس db کنکشن بند کریں source_cnx.close()
ہر چیز کو ایک ساتھ رکھنا۔
اب، اگلے مرحلے میں، ہم main.py میں تمام اسناد کو لوپ کر سکتے ہیں اور تمام ڈیٹا بیسز کے لیے ای ٹی ایل پر عمل درآمد کر سکتے ہیں۔
اس کے لیے ہمیں تمام مطلوبہ متغیرات اور طریقے درآمد کرنے ہوں گے۔
db_credentials سے # متغیرات ڈیٹا ویئر ہاؤس_db_config، sqlserver_db_config، mysql_db_config، fbd_db_config سے sql_queries درآمد کریں fbd_queries، sqlserver_queries، mysql_queries سے متغیرات سے # import_etpro سے متغیرات درآمد کریں *
اس فائل میں موجود کوڈ ڈیٹا بیس سے منسلک ہونے اور ازگر کے آپریشنز کا استعمال کرتے ہوئے ضروری ETL کو انجام دینے کے لیے اسناد پر تکرار کے لیے ذمہ دار ہے۔
def main(): print('starting etl') # ٹارگٹ ڈیٹا بیس (sql-server) کے لیے کنکشن قائم کریں target_cnx = pyodbc.connect(**datawarehouse_db_config) # اسناد کے ذریعے لوپ # mysql for config in mysql_db_config: آزمائیں: پرنٹ("لوڈنگ db: " + config['database']) etl_process(mysql_queries, target_cnx, config, 'mysql') سوائے استثناء کے بطور غلطی: print("etl for {} has error."format(config['database'])) print ('غلطی کا پیغام: {}'.format(error)) sqlserver_db_config میں تشکیل کے لیے # sql-server جاری رکھیں: کوشش کریں: print("loading db: " + config['database']) etl_process(sqlserver_queries, target_cnx, config, ' sqlserver') استثناء کے طور پر غلطی کے علاوہ: print("etl for {} has error."format(config['database'])) print('error message: {}'.format(error)) continue # firebird for config in fbd_db_config: کوشش کریں: print("لوڈنگ db: " + config['database']) etl_process(fbd_queries, target_cnx, config, 'firebird') سوائے استثناء کے بطور غلطی: print("etl for {} has error" format(config) پرنٹ کریں
اپنے ٹرمینل میں، python main.py ٹائپ کریں اور آپ نے ابھی خالص ازگر اسکرپٹ کا استعمال کرتے ہوئے ایک ETL بنایا ہے۔
ای ٹی ایل ٹولز
مارکیٹ میں ڈیٹا ویئر ہاؤسنگ کے کئی ٹولز موجود ہیں۔ یہاں کچھ مشہور مثالیں ہیں:
1. MarkLogic:
MarkLogic ایک ڈیٹا گودام کا نظام ہے جو ڈیٹا انضمام کو آسان اور تیز تر بنانے کے لیے کاروباری صلاحیتوں کی ایک صف کا استعمال کرتا ہے۔ یہ کئی طرح کے ڈیٹا سے استفسار کر سکتا ہے، جیسے دستاویزات، تعلقات اور میٹا ڈیٹا۔
https://www.marklogic.com/product/getting-started/
2. اوریکل:
اوریکل انڈسٹری کا سب سے مشہور ڈیٹا بیس ہے۔ یہ آن پریمیسس اور کلاؤڈ سروسز دونوں کے لیے ڈیٹا ویئر ہاؤس کے وسیع حل پیش کرتا ہے۔ یہ آپریشنل کارکردگی کو بڑھا کر کلائنٹ کے بہتر تجربات میں مدد کرتا ہے۔
https://www.oracle.com/index.html
3. Amazon RedShift:
Redshift Amazon کی طرف سے ڈیٹا ویئر ہاؤسنگ حل ہے۔ معیاری ایس کیو ایل اور موجودہ کاروباری انٹیلی جنس ٹولز کے ساتھ مختلف قسم کے ڈیٹا کا تجزیہ کرنے کے لیے یہ ایک سادہ اور سرمایہ کاری مؤثر حل ہے۔ یہ سٹرکچرڈ ڈیٹا کے پیٹا بائٹس پر پیچیدہ سوالات کے نفاذ کو بھی قابل بناتا ہے۔
https://aws.amazon.com/redshift/?nc2=h_m1
نتیجہ
اس مضمون نے آپ کو ETL کیا ہے اس کے بارے میں گہری تفہیم فراہم کی ہے، ساتھ ہی ایک مرحلہ وار ٹیوٹوریل بھی ہے کہ Python میں اپنا ETL کیسے ترتیب دیا جائے۔ اس نے آپ کو بہترین ٹولز کی ایک فہرست بھی دی ہے جو آج کل زیادہ تر تنظیمیں اپنی ETL ڈیٹا پائپ لائنوں کو بنانے کے لیے استعمال کرتی ہیں۔
دوسری طرف آج کل زیادہ تر تنظیموں کے پاس انتہائی متحرک ڈھانچے کے ساتھ بہت زیادہ ڈیٹا موجود ہے۔ اس طرح کے ڈیٹا کے لیے شروع سے ETL پائپ لائن بنانا ایک مشکل طریقہ کار ہے کیونکہ تنظیموں کو اس پائپ لائن کو بنانے کے لیے بڑی تعداد میں وسائل استعمال کرنے ہوں گے اور پھر اس بات کو یقینی بنانا ہوگا کہ یہ ڈیٹا کے اعلی حجم اور اسکیما کی تبدیلیوں کو برقرار رکھ سکے۔
مصنف کے بارے میں
پرشانت شرما
فی الحال، میں ویلور انسٹی ٹیوٹ آف ٹیکنالوجی سے بیچلرز آف ٹیکنالوجی (بی ٹیک) کر رہا ہوں۔ میں پروگرامنگ اور اس کی حقیقی ایپلی کیشنز بشمول سافٹ ویئر ڈویلپمنٹ، مشین لرننگ، ڈیپ لرننگ، اور ڈیٹا سائنس کے بارے میں بہت پرجوش ہوں۔
مجھے امید ہے کہ آپ کو مضمون پسند آئے گا۔ اگر آپ مجھ سے رابطہ کرنا چاہتے ہیں تو آپ اس پر رابطہ کرسکتے ہیں:
یا کسی دوسرے شک کے لیے، آپ کر سکتے ہیں۔ ایک میل بھیجیں مجھے بھی
متعلقہ
- '
- "
- اکاؤنٹ
- فعال
- تمام
- ایمیزون
- تجزیاتی
- ایپلی کیشنز
- رقبہ
- مضمون
- آٹومیٹڈ
- بیک اپ
- اضافے کا باعث
- تعمیر
- عمارت
- کاروبار
- کاروبار کی ذہانت
- فون
- چیک
- کلیولینڈ۔
- بادل
- بادل کی خدمات
- کوڈ
- مواصلات
- کمپنی کے
- کنکشن
- جاری
- تخلیق
- اسناد
- اعداد و شمار
- ڈیٹا انضمام
- ڈیٹا سائنس
- ڈیٹا گودام
- ڈیٹا گودام
- ڈیٹا بیس
- ڈیٹا بیس
- گہری سیکھنے
- ترقی
- ڈویلپرز
- ترقی
- کے الات
- طول و عرض
- دستاویزات
- ڈرائیور
- کارکردگی
- وغیرہ
- پھانسی
- ایگزیکٹوز
- تجربات
- نکالنے
- نچوڑ۔
- ناکامی
- پہلا
- بہاؤ
- فارمیٹ
- تازہ
- مکمل
- گوگل
- رہنمائی
- ہارڈ ویئر
- یہاں
- ہائی
- تاریخ
- کس طرح
- کیسے
- HTTPS
- شناخت
- اثر
- درآمد
- سمیت
- معلومات
- انضمام
- انٹیلی جنس
- مسائل
- IT
- کلیدی
- بڑے
- جانیں
- سیکھنے
- لائن
- لنکڈ
- لسٹ
- لوڈ
- مشین لرننگ
- انتظام
- نقشہ
- مارکیٹ
- میڈیا
- سب سے زیادہ مقبول
- منتقل
- نام
- نوٹیفیکیشن
- تعداد
- تجویز
- کام
- آپریٹنگ سسٹم
- آپریشنز
- اوریکل
- حکم
- تنظیمیں
- دیگر
- شراکت داروں کے
- پاس ورڈ
- کارکردگی
- پلیٹ فارم
- پلیٹ فارم
- مقبول
- تیار
- پیداوار
- پروگرامنگ
- پروگرام
- منصوبے
- ھیںچو
- ازگر
- خام
- اصل وقت
- حقیقت
- ریکارڈ
- وصولی
- تعلقات
- رپورٹیں
- وسائل
- جواب
- آمدنی
- سائنس
- سروسز
- مقرر
- مختصر
- سادہ
- So
- سافٹ ویئر کی
- سوفٹ ویئر کی نشوونما
- حل
- SQL
- اسٹیج
- حالت
- ذخیرہ
- پردہ
- کے نظام
- سسٹمز
- ہدف
- ٹیک
- تکنیک
- ٹیکنالوجی
- ماخذ
- وقت
- تبدیلی
- سبق
- اپ ڈیٹ کریں
- قیمت
- دکانداروں
- حجم
- گودام
- سٹوریج
- ہفتہ وار
- کام
- کام کرتا ہے