Data Engineers
Free Data Engineering Ebooks & Courses
Показати більше📈 Аналітичний огляд Telegram-каналу 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 👍👍