Data Engineers
Free Data Engineering Ebooks & Courses
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Data Engineers
تُعد قناة Data Engineers (@sql_engineer) في القطاع اللغوي الإنكليزية لاعباً نشطاً. يضم المجتمع حالياً 10 900 مشتركاً، محتلاً المرتبة 17 980 في فئة التعليم والمرتبة 35 495 في منطقة الهند.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 10 900 مشتركاً.
بحسب آخر البيانات بتاريخ 28 أغسطس, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 278، وفي آخر 24 ساعة بمقدار 1، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 11.27%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 3.15% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 1 227 مشاهدة. وخلال اليوم الأول يجمع عادةً 343 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 7.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل sql, learning, analytic, engineer, link:-.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Free Data Engineering Ebooks & Courses”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 29 أغسطس, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التعليم.
# Load the DataFrame
df = spark.read.csv("path/to/data.csv", header=True, inferSchema=True)
# Handle missing values
df_filled = df.fillna(0)
# Aggregate data
from pyspark.sql.functions import sum, col
df_aggregated = df_filled.groupBy("category", "region").agg(sum(col("sales")).alias("total_sales"))
# Sort the results
df_aggregated_sorted = df_aggregated.orderBy("total_sales", ascending=False)
# Save the aggregated DataFrame
df_aggregated_sorted.write.csv("path/to/aggregated/data.csv", header=True)
Scenario 2: Data Transformation
Interviewer: "How would you transform a DataFrame by converting a column to timestamp, handling invalid dates and extracting specific date components?"
Candidate:
# Load the DataFrame
df = spark.read.csv("path/to/data.csv", header=True, inferSchema=True)
# Convert column to timestamp
from pyspark.sql.functions import to_timestamp, col
df_transformed = df.withColumn("date_column", to_timestamp(col("date_column"), "yyyy-MM-dd"))
# Handle invalid dates
df_transformed_filtered = df_transformed.filter(col("date_column").isNotNull())
# Extract date components
from pyspark.sql.functions import year, month, dayofmonth
df_transformed_extracted = df_transformed_filtered.withColumn("year", year(col("date_column"))).withColumn("month", month(col("date_column"))).withColumn("day", dayofmonth(col("date_column")))
# Save the transformed DataFrame
df_transformed_extracted.write.csv("path/to/transformed/data.csv", header=True)
Scenario 3: Data Partitioning
Interviewer: "How would you partition a large DataFrame by date and save it to parquet format, handling data skewness and optimizing storage?"
Candidate:
# Load the DataFrame
df = spark.read.csv("path/to/data.csv", header=True, inferSchema=True)
# Partition by date
df_partitioned = df.repartitionByRange("date_column")
# Save to parquet format
df_partitioned.write.parquet("path/to/partitioned/data.parquet", partitionBy=["date_column"])
# Optimize storage
df_partitioned.write.option("compression", "snappy").parquet("path/to/partitioned/data.parquet", partitionBy=["date_column"])
Here, you can find Data Engineering Resources 👇
https://topmate.io/analyst/910180
All the best 👍👍from pyspark.sql.functions import when, isnan
# Load the DataFrame
df = spark.read.csv("path/to/data.csv", header=True, inferSchema=True)
# Check for missing values
missing_count = df.select([count(when(isnan(c), c)).alias(c) for c in df.columns])
# Replace missing values with mean
from pyspark.sql.functions import mean
mean_values = df.agg(*[mean(c).alias(c) for c in df.columns])
df_filled = df.fillna(mean_values)
# Save the cleaned DataFrame
df_filled.write.csv("path/to/cleaned/data.csv", header=True)
Interviewer: "That's correct! Can you explain why you used the fillna() method?"
Candidate: "Yes, fillna() replaces missing values with the specified value, in this case, the mean of each column."
*Scenario 2: Data Aggregation*
Interviewer: "How would you aggregate data by category and calculate the average sales amount?"
Candidate:
# Load the DataFrame
df = spark.read.csv("path/to/data.csv", header=True, inferSchema=True)
# Aggregate data by category
from pyspark.sql.functions import avg
df_aggregated = df.groupBy("category").agg(avg("sales").alias("avg_sales"))
# Sort the results
df_aggregated_sorted = df_aggregated.orderBy("avg_sales", ascending=False)
# Save the aggregated DataFrame
df_aggregated_sorted.write.csv("path/to/aggregated/data.csv", header=True)
Interviewer: "Great answer! Can you explain why you used the groupBy() method?"
Candidate: "Yes, groupBy() groups the data by the specified column, in this case, 'category', allowing us to perform aggregation operations."
Here, you can find Data Engineering Resources 👇
https://topmate.io/analyst/910180
All the best 👍👍repartition() and coalesce() in PySpark. When would you use each?
𝐃𝐚𝐭𝐚 𝐏𝐢𝐩𝐞𝐥𝐢𝐧𝐞 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐦𝐞𝐧𝐭:
11. Describe how you would implement an ETL pipeline in PySpark for processing streaming data.
12. How do you ensure data consistency and fault tolerance in a PySpark job?
13. You need to aggregate data from multiple sources and save it as a partitioned Parquet file. How would you do this in PySpark?
14. How would you orchestrate and manage a complex PySpark job with multiple stages?
15. Explain how you would handle schema evolution in PySpark while reading and writing data.
𝐃𝐞𝐛𝐮𝐠𝐠𝐢𝐧𝐠 𝐚𝐧𝐝 𝐄𝐫𝐫𝐨𝐫 𝐇𝐚𝐧𝐝𝐥𝐢𝐧𝐠:
16. Have you encountered out-of-memory errors in PySpark? How did you resolve them?
17. What steps would you take if a PySpark job fails midway through execution? How do you recover from it?
18. You encounter a Spark task that fails repeatedly due to data corruption in one of the partitions. How would you handle this?
19. Explain a situation where you used custom UDFs (User Defined Functions) in PySpark. What challenges did you face, and how did you overcome them?
20. Have you had to debug a PySpark (Python + Apache Spark) job that was producing incorrect results?
Here, you can find Data Engineering Resources 👇
https://topmate.io/analyst/910180
All the best 👍👍