డెల్టా లేక్‌లోకి ప్రవేశించండి: స్కీమా ఎన్‌ఫోర్స్‌మెంట్ మరియు ఎవల్యూషన్

హే హబ్ర్! వ్యాసం యొక్క అనువాదాన్ని నేను మీ దృష్టికి అందిస్తున్నాను "డెల్టా లేక్‌లోకి డైవింగ్: స్కీమా ఎన్‌ఫోర్స్‌మెంట్ & ఎవల్యూషన్" రచయితలు Burak Yavuz, Brenner Heintz మరియు డెన్నీ లీ, ఇది కోర్సు ప్రారంభం ఊహించి సిద్ధం చేయబడింది డేటా ఇంజనీర్ OTUS నుండి.

డెల్టా లేక్‌లోకి ప్రవేశించండి: స్కీమా ఎన్‌ఫోర్స్‌మెంట్ మరియు ఎవల్యూషన్

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

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

టేబుల్ స్కీమాలను అర్థం చేసుకోవడం

అపాచీ స్పార్క్‌లోని ప్రతి డేటాఫ్రేమ్ డేటా రకాలు, నిలువు వరుసలు మరియు మెటాడేటా వంటి డేటా రూపాన్ని నిర్వచించే స్కీమాను కలిగి ఉంటుంది. డెల్టా లేక్‌తో, టేబుల్ స్కీమా లావాదేవీ లాగ్‌లో JSON ఆకృతిలో నిల్వ చేయబడుతుంది.

పథకం అమలు అంటే ఏమిటి?

స్కీమా వాలిడేషన్ అని కూడా పిలువబడే స్కీమా ఎన్‌ఫోర్స్‌మెంట్ అనేది డెల్టా లేక్‌లోని భద్రతా యంత్రాంగం, ఇది టేబుల్ స్కీమాతో సరిపోలని రికార్డులను తిరస్కరించడం ద్వారా డేటా నాణ్యతను నిర్ధారిస్తుంది. ప్రసిద్ధ రిజర్వేషన్-మాత్రమే రెస్టారెంట్ ముందు డెస్క్‌లో ఉన్న హోస్టెస్ లాగా, పట్టికలో నమోదు చేయబడిన ప్రతి డేటా కాలమ్ ఆశించిన నిలువు వరుసల జాబితాలో ఉందో లేదో తనిఖీ చేస్తుంది (మరో మాటలో చెప్పాలంటే, వాటిలో ప్రతిదానికి "రిజర్వేషన్" ఉందా ), మరియు జాబితాలో లేని నిలువు వరుసలతో ఏవైనా రికార్డులను తిరస్కరిస్తుంది.

స్కీమా అమలు ఎలా పని చేస్తుంది?

డెల్టా లేక్ స్కీమా-ఆన్-రైట్ చెకింగ్‌ను ఉపయోగిస్తుంది, అంటే టేబుల్‌కి అన్ని కొత్త వ్రాతలు వ్రాసే సమయంలో లక్ష్య పట్టిక యొక్క స్కీమాతో అనుకూలత కోసం తనిఖీ చేయబడతాయి. స్కీమా అస్థిరంగా ఉంటే, డెల్టా లేక్ లావాదేవీని పూర్తిగా నిలిపివేస్తుంది (డేటా వ్రాయబడలేదు) మరియు అస్థిరతను వినియోగదారుకు తెలియజేయడానికి మినహాయింపును పెంచుతుంది.
డెల్టా సరస్సు ఒక రికార్డు పట్టికకు అనుకూలంగా ఉందో లేదో నిర్ధారించడానికి క్రింది నియమాలను ఉపయోగిస్తుంది. వ్రాయదగిన డేటా ఫ్రేమ్:

  • లక్ష్య పట్టిక యొక్క స్కీమాలో లేని అదనపు నిలువు వరుసలను కలిగి ఉండకూడదు. దీనికి విరుద్ధంగా, ఇన్‌కమింగ్ డేటా ఖచ్చితంగా టేబుల్ నుండి అన్ని నిలువు వరుసలను కలిగి ఉండకపోతే ప్రతిదీ బాగానే ఉంటుంది - ఈ నిలువు వరుసలు కేవలం శూన్య విలువలు కేటాయించబడతాయి.
  • లక్ష్య పట్టికలోని నిలువు వరుసల డేటా రకాలకు భిన్నంగా ఉండే కాలమ్ డేటా రకాలను కలిగి ఉండకూడదు. లక్ష్య పట్టిక నిలువు వరుస StringType డేటాను కలిగి ఉంటే, కానీ DataFrameలోని సంబంధిత కాలమ్ IntegerType డేటాను కలిగి ఉంటే, స్కీమా అమలు మినహాయింపును విసిరి, వ్రాత ఆపరేషన్ జరగకుండా నిరోధిస్తుంది.
  • సందర్భంలో మాత్రమే తేడా ఉండే నిలువు వరుస పేర్లను కలిగి ఉండకూడదు. అంటే మీరు ఒకే పట్టికలో 'Foo' మరియు 'foo' అనే నిలువు వరుసలను నిర్వచించకూడదు. స్పార్క్‌ను కేస్-సెన్సిటివ్ లేదా కేస్-ఇన్‌సెన్సిటివ్ (డిఫాల్ట్) మోడ్‌లో ఉపయోగించవచ్చు, డెల్టా లేక్ కేస్-ప్రిజర్వింగ్ అయితే స్కీమా స్టోరేజ్‌లో సున్నితమైనది కాదు. కాలమ్ సమాచారాన్ని నిల్వ చేసేటప్పుడు మరియు తిరిగి ఇస్తున్నప్పుడు పార్కెట్ కేస్ సెన్సిటివ్‌గా ఉంటుంది. సాధ్యమయ్యే లోపాలు, డేటా అవినీతి లేదా డేటా నష్టాన్ని నివారించడానికి (డేటాబ్రిక్స్‌లో మేము వ్యక్తిగతంగా అనుభవించినది), మేము ఈ పరిమితిని జోడించాలని నిర్ణయించుకున్నాము.

దీన్ని వివరించడానికి, డెల్టా లేక్ టేబుల్‌కి కొత్తగా రూపొందించబడిన కొన్ని నిలువు వరుసలను ఇంకా ఆమోదించడానికి కాన్ఫిగర్ చేయని వాటికి జోడించడానికి ప్రయత్నించినప్పుడు దిగువ కోడ్‌లో ఏమి జరుగుతుందో చూద్దాం.

# Сгенерируем DataFrame ссуд, который мы добавим в нашу таблицу Delta Lake
loans = sql("""
            SELECT addr_state, CAST(rand(10)*count as bigint) AS count,
            CAST(rand(10) * 10000 * count AS double) AS amount
            FROM loan_by_state_delta
            """)

# Вывести исходную схему DataFrame
original_loans.printSchema()

root
  |-- addr_state: string (nullable = true)
  |-- count: integer (nullable = true)
 
# Вывести новую схему DataFrame
loans.printSchema()
 
root
  |-- addr_state: string (nullable = true)
  |-- count: integer (nullable = true)
  |-- amount: double (nullable = true) # new column
 
# Попытка добавить новый DataFrame (с новым столбцом) в существующую таблицу
loans.write.format("delta") 
           .mode("append") 
           .save(DELTALAKE_PATH)

Returns:

A schema mismatch detected when writing to the Delta table.
 
To enable schema migration, please set:
'.option("mergeSchema", "true")'
 
Table schema:
root
-- addr_state: string (nullable = true)
-- count: long (nullable = true)
 
Data schema:
root
-- addr_state: string (nullable = true)
-- count: long (nullable = true)
-- amount: double (nullable = true)
 
If Table ACLs are enabled, these options will be ignored. Please use the ALTER TABLE command for changing the schema.

స్వయంచాలకంగా కొత్త నిలువు వరుసలను జోడించడానికి బదులుగా, డెల్టా లేక్ ఒక స్కీమాను విధించింది మరియు రాయడం ఆపివేస్తుంది. ఏ నిలువు వరుస (లేదా నిలువు వరుసల సెట్) వ్యత్యాసానికి కారణమవుతుందో గుర్తించడంలో సహాయపడటానికి, పోలిక కోసం స్పార్క్ స్టాక్ ట్రేస్ నుండి రెండు స్కీమాలను అవుట్‌పుట్ చేస్తుంది.

స్కీమాను అమలు చేయడం వల్ల ప్రయోజనం ఏమిటి?

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

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

ఈ చివరి అడ్డంకి కోసం వారి డేటాను సిద్ధం చేయడానికి, చాలా మంది వినియోగదారులు సాధారణ "మల్టీ-హాప్" నిర్మాణాన్ని ఉపయోగిస్తారు, అది క్రమంగా వారి పట్టికలలో నిర్మాణాన్ని పరిచయం చేస్తుంది. దీని గురించి మరింత తెలుసుకోవడానికి, మీరు కథనాన్ని చూడవచ్చు డెల్టా లేక్‌తో ప్రొడక్షన్-గ్రేడ్ మెషిన్ లెర్నింగ్.

వాస్తవానికి, స్కీమా అమలు మీ పైప్‌లైన్‌లో ఎక్కడైనా ఉపయోగించబడుతుంది, అయితే ఈ సందర్భంలో టేబుల్‌కి స్ట్రీమింగ్ చేయడం నిరాశ కలిగించవచ్చని గుర్తుంచుకోండి, ఉదాహరణకు, మీరు ఇన్‌కమింగ్ డేటాకు మరొక నిలువు వరుసను జోడించారని మీరు మర్చిపోయారు.

డేటా పలుచనను నిరోధించడం

ఈపాటికి మీరు ఆశ్చర్యపోతూ ఉండవచ్చు, ఈ రచ్చ ఏమిటి? అన్నింటికంటే, కొన్నిసార్లు ఊహించని "స్కీమా అసమతుల్యత" లోపం మీ వర్క్‌ఫ్లోలో మిమ్మల్ని ట్రిప్ చేస్తుంది, ప్రత్యేకించి మీరు డెల్టా సరస్సుకి కొత్తవారైతే. స్కీమాను అవసరమైన విధంగా ఎందుకు మార్చకూడదు, తద్వారా నేను నా డేటాఫ్రేమ్‌ను ఎలాగైనా వ్రాయగలను?

పాత సామెత చెప్పినట్లుగా, "ఒక ఔన్స్ నివారణకు ఒక పౌండ్ చికిత్స విలువైనది." ఏదో ఒక సమయంలో, మీరు మీ స్కీమాను అమలు చేయడంలో జాగ్రత్తలు తీసుకోకుంటే, డేటా రకం అనుకూలత సమస్యలు తలెత్తుతాయి - సజాతీయంగా ఉన్న ముడి డేటా మూలాల్లో అంచు కేసులు, పాడైన నిలువు వరుసలు, తప్పుగా రూపొందించిన మ్యాపింగ్‌లు లేదా కలలు కనే ఇతర భయానక విషయాలు ఉండవచ్చు. చెడు కలలు. ఈ శత్రువులను గేట్ వద్ద ఆపడం - స్కీమా అమలుతో - మరియు వారు మీ ఉత్పత్తి కోడ్ యొక్క చీకటి లోతుల్లో దాగి ఉండటం ప్రారంభించినప్పుడు కాకుండా, కాంతిలో వారితో వ్యవహరించడం ఉత్తమమైన విధానం.

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

తదుపరి పరిశీలనలో మీరు నిజంగా నిర్ణయించుకుంటే అవసరం కొత్త నిలువు వరుసను జోడించండి - సమస్య లేదు, దిగువన ఒక పంక్తి పరిష్కారం ఉంది. సర్క్యూట్ యొక్క పరిణామమే పరిష్కారం!

స్కీమా పరిణామం అంటే ఏమిటి?

స్కీమా ఎవల్యూషన్ అనేది కాలక్రమేణా మారుతున్న డేటా ప్రకారం ప్రస్తుత టేబుల్ స్కీమాను సులభంగా మార్చడానికి వినియోగదారులను అనుమతించే లక్షణం. ఒకటి లేదా అంతకంటే ఎక్కువ కొత్త నిలువు వరుసలను చేర్చడానికి స్కీమాను స్వయంచాలకంగా స్వీకరించడానికి అనుబంధం లేదా తిరిగి వ్రాసే ఆపరేషన్ చేసేటప్పుడు ఇది చాలా తరచుగా ఉపయోగించబడుతుంది.

స్కీమా పరిణామం ఎలా పని చేస్తుంది?

మునుపటి విభాగం నుండి ఉదాహరణను అనుసరించి, స్కీమా అస్థిరత కారణంగా గతంలో తిరస్కరించబడిన కొత్త నిలువు వరుసలను జోడించడానికి డెవలపర్‌లు స్కీమా పరిణామాన్ని సులభంగా ఉపయోగించవచ్చు. జోడించడం ద్వారా సర్క్యూట్ పరిణామం సక్రియం చేయబడుతుంది .option('mergeSchema', 'true') మీ స్పార్క్ బృందానికి .write или .writeStream.

# Добавьте параметр mergeSchema
loans.write.format("delta") 
           .option("mergeSchema", "true") 
           .mode("append") 
           .save(DELTALAKE_SILVER_PATH)

గ్రాఫ్‌ను వీక్షించడానికి, కింది Spark SQL ప్రశ్నను అమలు చేయండి

# Создайте график с новым столбцом, чтобы подтвердить, что запись прошла успешно
%sql
SELECT addr_state, sum(`amount`) AS amount
FROM loan_by_state_delta
GROUP BY addr_state
ORDER BY sum(`amount`)
DESC LIMIT 10

డెల్టా లేక్‌లోకి ప్రవేశించండి: స్కీమా ఎన్‌ఫోర్స్‌మెంట్ మరియు ఎవల్యూషన్
ప్రత్యామ్నాయంగా, మీరు జోడించడం ద్వారా మొత్తం స్పార్క్ సెషన్ కోసం ఈ ఎంపికను సెట్ చేయవచ్చు spark.databricks.delta.schema.autoMerge = True స్పార్క్ కాన్ఫిగరేషన్‌కు. అయితే దీన్ని జాగ్రత్తగా ఉపయోగించండి, ఎందుకంటే స్కీమా ఎన్‌ఫోర్స్‌మెంట్ ఇకపై అనుకోకుండా స్కీమా అసమానతల గురించి మిమ్మల్ని హెచ్చరించదు.

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

తేదీ ఇంజనీర్లు మరియు డేటా సైంటిస్టులు పాత కాలమ్‌ల ఆధారంగా ఇప్పటికే ఉన్న మోడల్‌లను విచ్ఛిన్నం చేయకుండా వారి ప్రస్తుత మెషీన్ లెర్నింగ్ ప్రొడక్షన్ టేబుల్‌లకు కొత్త నిలువు వరుసలను (బహుశా ఇటీవల ట్రాక్ చేసిన మెట్రిక్ లేదా ఈ నెల విక్రయాల పనితీరు కాలమ్) జోడించడానికి ఈ ఎంపికను ఉపయోగించవచ్చు.

పట్టిక జోడించడం లేదా తిరిగి వ్రాయడం సమయంలో స్కీమా పరిణామంలో భాగంగా క్రింది రకాల స్కీమా మార్పులు అనుమతించబడతాయి:

  • కొత్త నిలువు వరుసలను జోడించడం (ఇది అత్యంత సాధారణ దృశ్యం)
  • NullType నుండి డేటా రకాలను మార్చడం -> ఏదైనా ఇతర రకం లేదా ByteType -> ShortType -> IntegerType నుండి ప్రచారం చేయడం

స్కీమా ఎవల్యూషన్‌లో అనుమతించబడని ఇతర మార్పులకు స్కీమా మరియు డేటా జోడించడం ద్వారా తిరిగి వ్రాయడం అవసరం .option("overwriteSchema", "true"). ఉదాహరణకు, కాలమ్ "Foo" నిజానికి పూర్ణాంకం మరియు కొత్త స్కీమా స్ట్రింగ్ డేటా రకం అయిన సందర్భంలో, అన్ని Parquet(డేటా) ఫైల్‌లను తిరిగి వ్రాయవలసి ఉంటుంది. ఇటువంటి మార్పులు ఉన్నాయి:

  • నిలువు వరుసను తొలగిస్తోంది
  • ఇప్పటికే ఉన్న నిలువు వరుస యొక్క డేటా రకాన్ని మార్చడం (ఇన్-ప్లేస్)
  • సందర్భంలో మాత్రమే తేడా ఉండే నిలువు వరుసల పేరు మార్చడం (ఉదాహరణకు, "Foo" మరియు "foo")

చివరగా, Spark 3.0 యొక్క తదుపరి విడుదలతో, స్పష్టమైన DDL పూర్తిగా మద్దతు ఇస్తుంది (ALTER TABLEని ఉపయోగించి), వినియోగదారులు పట్టిక స్కీమాలపై క్రింది చర్యలను చేయడానికి అనుమతిస్తుంది:

  • నిలువు వరుసలను జోడించడం
  • కాలమ్ వ్యాఖ్యలను మార్చడం
  • లావాదేవీ లాగ్ నిల్వ చేయబడిన సమయ వ్యవధిని సెట్ చేయడం వంటి పట్టిక ప్రవర్తనను నియంత్రించే పట్టిక లక్షణాలను సెట్ చేయడం.

సర్క్యూట్ పరిణామం యొక్క ప్రయోజనం ఏమిటి?

మీరు ఎప్పుడైనా స్కీమా పరిణామాన్ని ఉపయోగించవచ్చు ఉద్దేశ్యము మీ పట్టిక యొక్క స్కీమాను మార్చండి (మీరు అనుకోకుండా మీ డేటాఫ్రేమ్‌కి నిలువు వరుసలను జోడించినప్పుడు దానికి విరుద్ధంగా). ఇది మీ స్కీమాను తరలించడానికి సులభమైన మార్గం ఎందుకంటే ఇది స్వయంచాలకంగా సరైన నిలువు వరుస పేర్లు మరియు డేటా రకాలను స్పష్టంగా ప్రకటించాల్సిన అవసరం లేకుండా జోడిస్తుంది.

తీర్మానం

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

మరోవైపు, స్కీమా పరిణామం సరళీకృతం చేయడం ద్వారా అమలును పూర్తి చేస్తుంది ఆరోపించారు ఆటోమేటిక్ స్కీమా మార్పులు. అన్నింటికంటే, నిలువు వరుసను జోడించడం కష్టం కాదు.

పథకం యొక్క బలవంతపు దరఖాస్తు యాంగ్, ఇక్కడ పథకం యొక్క పరిణామం యిన్. కలిసి ఉపయోగించినప్పుడు, ఈ ఫీచర్లు శబ్దాన్ని అణిచివేసేందుకు మరియు సిగ్నల్ ట్యూనింగ్‌ను గతంలో కంటే సులభతరం చేస్తాయి.

ఈ వ్యాసానికి అందించిన సహకారానికి ముకుల్ మూర్తి మరియు ప్రణవ్ ఆనంద్‌లకు కూడా మేము ధన్యవాదాలు తెలియజేస్తున్నాము.

ఈ సిరీస్‌లోని ఇతర కథనాలు:

డెల్టా సరస్సులోకి ప్రవేశించండి: లావాదేవీ లాగ్‌ను అన్‌ప్యాక్ చేయడం

సంబంధిత కథనాలు

డెల్టా లేక్‌తో ప్రొడక్షన్-గ్రేడ్ మెషిన్ లెర్నింగ్

డేటా సరస్సు అంటే ఏమిటి?

కోర్సు గురించి మరింత తెలుసుకోండి

మూలం: www.habr.com

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