Nëse po fillon nga zero dhe synon Data Engineering, rekomandimi ynë është të nisësh me bazat e SQL, pastaj ta shtosh Python për të ndërtuar një proces të plotë me të dhëna. SQL të shërben për të punuar me tabela dhe për të përpunuar të dhëna brenda databazës; Python të ndihmon të lidhësh hapa si leximi i skedarëve, kontrollet dhe ekzekutimi i komandave SQL. [1][2][3]
Kjo renditje është një propozim mësimor, jo rregull universal i industrisë. Nëse tashmë programon ose projekti yt nis nga përpunimi i skedarëve, mund të fillosh me Python dhe të mësosh SQL krahas tij. Qëllimi është të kuptosh kur të përdorësh secilin dhe si t’i bashkosh në një zgjidhje.
Çfarë bën SQL dhe çfarë bën Python në Data Engineering?
SQL përdoret për të krijuar dhe për të punuar me struktura të të dhënave në databaza. Tutoriali i PostgreSQL përfshin krijimin e tabelave, shtimin e rreshtave, kërkimin, lidhjen e tabelave dhe përmbledhjen e të dhënave. Python është gjuhë programimi me përdorim më të gjerë, e përshtatshme edhe për skripte që lidhin disa veprime në një proces. [1][4]
| Detyra | SQL | Python |
|---|---|---|
| Të zgjedhësh porositë e një qyteti | Një query me SELECT dhe WHERE | Mund të ekzekutojë query-n dhe të përdorë rezultatin |
| Të lidhësh porositë me klientët | Një JOIN mes tabelave | Mund të koordinojë ngarkimin dhe hapat përreth |
| Të llogaritësh totalin sipas qytetit | SUM dhe GROUP BY | Mund të përpunojë rezultatin ose ta shkruajë në skedar |
| Të lexosh dhe kontrollosh një CSV | Mënyra e importimit varet nga sistemi i databazës | Moduli csv lexon rreshtat; kodi yt përcakton kontrollet |
Tabela ilustron ndarjen e punës në një projekt të thjeshtë. Nuk nënkupton se një detyrë ka vetëm një zgjidhje teknike. Bazuar në dokumentacionin e PostgreSQL dhe Python. [1] [2] [3] [5] [6]
Për të kuptuar ku lidhen këto aftësi me profesionin, lexo çfarë është Data Engineering.
Me cilin të fillosh sipas përvojës që ke?
Nëse nuk ke programuar më parë: provo SQL fillimisht
Propozimi ynë është të punosh fillimisht me një tabelë të vogël dhe pyetje konkrete: sa porosi ka, cilat janë të paguara dhe si ndryshon totali sipas qytetit? Kështu e lidh mësimin me rezultate që mund t’i kontrollosh vetë.
Pasi të kuptosh filtrimin, grupimin dhe lidhjen e tabelave, shto Python për të sjellë të dhënat dhe për t’i kontrolluar para ngarkimit. Nuk ke nevojë ta përfundosh çdo temë të SQL para se të fillosh Python.
Nëse tashmë di Python: përdore si urë drejt SQL
Ndërto një projekt që lexon të dhëna dhe i vendos në një databazë. Pastaj shkruaj vetë query-t që prodhojnë raportin. Moduli sqlite3 ofron një mënyrë për të ekzekutuar SQL nga Python, pa ngritur një server të veçantë databaze për këtë ushtrim. [3]
Nëse të duhet menjëherë të përpunosh skedarë
Mund të nisësh me Python dhe një CSV të thjeshtë. Vendos një objektiv të kufizuar: lexo kolonat, kontrollo vlerat dhe prodho një rezultat të pastër. Shto SQL sapo të kalosh te organizimi dhe lidhja e tabelave. Ky është orientim sipas projektit, jo pretendim se njëra gjuhë është gjithmonë më e lehtë.
A kërkohen SQL dhe Python në Kosovë?
Dy shpallje të publikuara në KosovaJob për role në Prishtinë tregojnë se ato mund të kërkohen bashkë:
- SPAXEL, Mid-Level Data Engineer Freelancer: përmend aftësi të forta në SQL, përvojë me Python dhe pipeline të automatizuara, si dhe punë me databaza, API dhe platforma cloud. Kërkon 3–6 vjet përvojë. Afati i shënuar ishte 1 qershor 2026. [7]
- Borek Solutions, Senior Data Engineer: përmend SQL të avancuar, optimizim query-sh, Python dhe përvojë me modelim e transformim të të dhënave. Kërkon 3–5+ vjet përvojë. [8]
Të dyja faqet shfaqeshin si konkurse të skaduara kur u kontrolluan më 29 shtator 2026. I përdorim si shembuj të dokumentuar të kërkesave profesionale, jo si vende pune të hapura ose matje të gjithë tregut.
Për një fillestar, kjo sugjeron një drejtim për t’u zhvilluar: ndërto bazën në të dyja gjuhët. Nuk do të thotë se duhet të plotësosh sot çdo kërkesë të një pozite senior. Për rolin e parë, shqyrto veçmas shpalljet që pranojnë kandidatë pa përvojë ose me përvojë të kufizuar.
Një rrugë praktike për të mësuar SQL dhe Python
Plani më poshtë është rekomandimi ynë mësimor. Kalo te hapi tjetër kur mund ta shpjegosh dhe ta kontrollosh punën që ke bërë, pa i vendosur vetes një afat të sajuar për punësim.
1. Mëso të lexosh një tabelë me SQL
Ushtro SELECT, WHERE dhe ORDER BY. Për çdo query, shkruaj fillimisht pyetjen në gjuhë të thjeshtë. Kontrollo manualisht disa rreshta që të bindesh se përgjigjja përputhet me pyetjen.
2. Lidh dhe përmblidh të dhënat
Puno me dy tabela, për shembull klientë dhe porosi. JOIN kombinon rreshta sipas kushteve të përcaktuara, ndërsa funksionet si SUM dhe COUNT përmbledhin të dhëna. Me GROUP BY mund ta bësh përmbledhjen për secilin grup. [5][6]
Kontroll praktik: krahaso numrin e rreshtave para dhe pas lidhjes. Nëse rezultati shtohet papritur, kontrollo nëse çelësi i lidhjes përsëritet në tabelën tjetër. Mos e merr totalin si të saktë vetëm sepse query ekzekutohet.
3. Shto bazat e Python që i duhen projektit
Për ushtrimin më poshtë do të përdorësh variabla, lista, një cikël for, kushte if dhe importe modulesh. Tutoriali zyrtar i Python mbulon këto koncepte, por vetë ai sqaron se supozon njohuri bazë programimi. Nëse je krejt fillestar, përdor edhe orientimin Python for Beginners. [4][9]
4. Bashkoji në një proces të vetëm
Zgjidh një burim të vogël të dhënash, përcakto çfarë pranon si të vlefshme dhe krijo një raport të riprodhueshëm. Mbaj një shënim për supozimet: çfarë përfaqëson çdo rresht, çfarë njësie përdor shuma dhe si trajtohen statuset.
Projekt për fillestarë: nga një CSV te raporti me SQL
Shembull mësimor me të dhëna sintetike. Tre porositë më poshtë janë krijuar për ushtrimin dhe nuk përfaqësojnë shitje të një biznesi real. Detyra është të llogaritësh vetëm totalin e porosive të paguara, sipas qytetit.
Python do të lexojë CSV-në dhe do të kontrollojë rreshtat. Pastaj do t’i ngarkojë në SQLite. SQL do të filtrojë dhe përmbledhë rezultatet. Modulet csv dhe sqlite3 janë të dokumentuara nga Python; sqlite3 mund të mungojë në disa instalime të personalizuara. [2][3]
Si ta ekzekutosh
- Me Python 3 të instaluar, kopjo kodin në një skedar me emrin
ushtrim_sql_python.py. - Hap terminalin në dosjen e skedarit dhe ekzekuto
python3 ushtrim_sql_python.py. Në Windows mund të përdorëshpy ushtrim_sql_python.py, nëse ke Python Launcher. - Krahaso rezultatin me atë të treguar më poshtë.
Ushtrimi nuk kërkon llogari cloud ose paketa shtesë me pip. Databaza krijohet në memorie dhe mbyllet në fund; nuk ruan të dhëna në disk. Shumat ruhen në centë si numra të plotë.
import csv
import io
import sqlite3
# Te dhena sintetike per ushtrimin.
csv_text = """order_id,city,amount_cents,status
1,Prishtinë,4500,paid
2,Prizren,2500,pending
3,Prishtinë,1500,paid
"""
rows = []
seen_ids = set()
for row in csv.DictReader(io.StringIO(csv_text)):
order_id = int(row["order_id"])
city = row["city"].strip()
amount = int(row["amount_cents"])
status = row["status"].strip()
if order_id in seen_ids:
raise ValueError("ID e perseritur")
if not city or amount < 0 or status not in {"paid", "pending"}:
raise ValueError("Rresht i pavlefshem")
seen_ids.add(order_id)
rows.append((order_id, city, amount, status))
conn = sqlite3.connect(":memory:")
try:
conn.execute("""
CREATE TABLE orders (
order_id INTEGER PRIMARY KEY,
city TEXT NOT NULL,
amount_cents INTEGER NOT NULL,
status TEXT NOT NULL
)
""")
conn.executemany(
"INSERT INTO orders VALUES (?, ?, ?, ?)", rows
)
conn.commit()
report = conn.execute("""
SELECT city, SUM(amount_cents) AS total_cents
FROM orders
WHERE status = 'paid'
GROUP BY city
ORDER BY city
""")
for city, total in report:
print(f"{city}: {total // 100}.{total % 100:02d} EUR")
finally:
conn.close()
Rezultati i pritur:
Prishtinë: 60.00 EUR
Dy porositë e Prishtinës janë të paguara dhe japin 4,500 + 1,500 = 6,000 centë. Porosia e Prizrenit është në pritje, ndaj kushti WHERE status = 'paid' e përjashton.
csv.DictReader i lidh vlerat me emrat e kolonave. Konvertimi me int e bën shumën numër, ndërsa kontrollet ndalojnë shembullin nëse ndeshin ID të përsëritur, qytet bosh, shumë negative ose status të papranuar. [2]
Vlerat futen në SQL përmes parametrave ?, duke e mbajtur të ndarë komandën nga të dhënat. Kjo ndjek praktikën e dokumentuar te sqlite3. Kodi është një shembull origjinal mësimor, jo kopjim i një pipeline prodhimi. [3]
Provoje vetë:
- Ndrysho porosinë e Prizrenit në
paid. Raporti duhet të përfshijë edhePrizren: 25.00 EUR. - Përsërit një
order_id. Procesi duhet të ndalet me gabim. - Shto një porosi të paguar në Prishtinë për 500 centë. Totali i Prishtinës duhet të bëhet 65.00 EUR.
Në fund, shpjego me fjalët e tua: cilat hapa i bëri Python dhe cilën pjesë e zgjidhi SQL?
Çfarë duhet të kontrollosh përtej sintaksës?
Kur ta zgjerosh këtë ushtrim, përdor këto pyetje si listë kontrolli:
- Kuptimi i treguesit: po mat porosi, pagesa apo të ardhura pas kthimeve? Në shembull matim vetëm shumat e rreshtave me status
paid. - Cilësia e hyrjes: çfarë ndodh nëse mungon një kolonë ose shuma nuk është numër? Shembulli ndalet; një projekt më i plotë duhet të përcaktojë si regjistrohen dhe trajtohen gabimet.
- Ekzekutimi i përsëritur: ushtrimi krijon çdo herë një databazë të re në memorie. Kur kalon në një databazë të ruajtur, duhet të mendosh si të shmangësh ngarkimin dy herë të së njëjtës porosi.
- Shpjegimi i kodit: edhe nëse AI të ndihmon ta shkruash, kontrollo që ndryshimet te hyrja japin rezultatin që pret. Mos e përdor ekzekutimin pa gabime si provën e vetme të saktësisë.
Ky projekt është një pikënisje. Për ta zhvilluar më tej, shto një tabelë klientësh, një JOIN dhe një skedar me shënime që shpjegon hyrjen, kontrollet dhe kufizimet.
Ku lidhen këto aftësi me akademinë?
Planprogrami i publikuar i Data Engineering, Cloud & AI Academy në Creative Hub Kosovo përfshin Python, databaza relacionale dhe SQL, pastaj PySpark, Databricks dhe tema të orkestrimit. Projektet e përshkruara përfshijnë përpunim të të dhënave me Python dhe zgjidhje me SQL. [10]
Planprogrami e nis me Python. Kjo është një renditje tjetër e vlefshme në një program të udhëhequr: rekomandimi ynë për SQL fillimisht është një rrugë për vetëstudim, jo përshkrim i renditjes së akademisë.
Dëshiron ta zhvillosh këtë bazë me projekte dhe udhëzim? Shiko planprogramin e Data Engineering, Cloud & AI dhe diskuto me koordinatorin se ku duhet të fillosh sipas njohurive që ke.
Për një pamje më të gjerë të roleve, lexo edhe rrugët e karrierës në Data Engineering, Cloud & AI.
Pyetjet e shpeshta
A duhet të mësoj SQL para Python?
Për vetëstudim nga zero, rekomandojmë SQL fillimisht për të kuptuar tabelat dhe query-t, pastaj Python në të njëjtin projekt. Nëse tashmë programon, mund t’i mësosh paralelisht.
A e zëvendëson Python SQL?
Jo domosdoshmërisht. Në ushtrimin tonë Python ekzekuton komandat SQL përmes sqlite3. Ato punojnë bashkë brenda të njëjtit proces. [3]
A mjaftojnë SQL dhe Python për çdo punë si Data Engineer?
A duhet të blej mjete për ushtrimin?
Jo. Shembulli përdor Python dhe modulet e përmendura më sipër. Nuk përdor API me pagesë, server cloud ose dataset me pagesë.
Sa kohë duhet për t’i mësuar të dyja?
Ky artikull nuk vendos afat universal. Mat përparimin me aftësinë për ta ndërtuar, kontrolluar dhe shpjeguar një projekt, pastaj krahasoje me kërkesat e rolit që synon.
Burimet
10 burime
Kontrolluar më 29 shtator 2026. Faktet teknike mbështeten te dokumentacioni zyrtar. Renditja e mësimit, ushtrimi dhe lista e kontrollit janë propozime editoriale; të dhënat e ushtrimit janë sintetike.
- PostgreSQL: The SQL Language. Temat bazë të SQL.
- Python: csv, CSV File Reading and Writing. Leximi i CSV dhe DictReader.
- Python: sqlite3, DB-API 2.0 interface for SQLite databases. Lidhja me databazën, ekzekutimi i SQL dhe parametrat.
- The Python Tutorial. Gjuha, konceptet dhe parakushtet e tutorialit.
- PostgreSQL: Joins Between Tables. Lidhja e tabelave.
- PostgreSQL: Aggregate Functions. Përmbledhja dhe grupimi.
- SPAXEL në KosovaJob: Mid-Level Data Engineer Freelancer. Shpallje e skaduar, Prishtinë; përdoret vetëm si shembull kërkesash.
- Borek Solutions në KosovaJob: Senior Data Engineer. Shpallje e shënuar si e skaduar; përdoret vetëm si shembull kërkesash.
- Python.org: Python for Beginners. Orientim për fillestarët.
- Creative Hub Kosovo: Data Engineering, Cloud & AI Academy. Planprogrami i publikuar.

