2022 年 8 月 10 日,在 数据探索

阅读时间:5 分钟

#招聘 #招聘 #招聘 | 探索数据职位发布趋势

The Metabase Team Portrait
Metabase 团队
‧ 2022 年 8 月 10 日,在 数据探索

‧ 5 分钟阅读

#jobs #jobs #jobs | Exploring trends in data jobs postings Image

我们对数据职位趋势如何随时间演变很感兴趣,因此我们查看了我们最喜欢的社区之一 dbt's Slack 上的职位发布。

自 2021 年以来,他们的 #jobs 频道每月有超过 100 份职位发布,因此我们将数据导入 Metabase,看看能否找到任何模式。

Data jobs dashboard

您可以查看完整仪表板,或者继续阅读我们的观察结果以及我们如何构建它的分步说明。

观察结果

职位发布数量似乎与 dbt 的用户群和他们的 Slack 社区同步增长。

超过 40% 的职位发布提到了远程工作的可能性。

从 2021 年开始,超过一半的职位发布是远程工作,高于2021 年之前的 20%

分析工程师职位是数据领域增长最快的职位,从 2019 年的 6% 增长到 2022 年的 32%。(图表链接)

我们如何获取数据

将数据导入 Metabase

  1. 我们使用 Phantombuster 从 dbt 的 #jobs 频道提取原始消息到 CSV 文件中。
  2. 我们将 CSV 文件上传到 Google Sheet,并使用 Fivetran 将 .csv 数据加载到 Postgres 数据库中的一个表中。
  3. 然后我们将 Metabase 连接到 Postgres 数据库。(如果您的数据库已连接,可以跳过此步骤)。
  4. 然后我们转换数据并将其转换为 Metabase 中的模型。如果您愿意,可以将模型数据下载为 CSV、JSON 或 XLSX 文件。

在 Metabase 中处理数据

由于文本的非结构化性质,我们选择使用 SQL 问题(而不是图形查询构建器)

有些职位发布在频道中,有些发布在该频道的帖子中。我们将这些合并,并过滤掉对职位发布的回复和评论。我们使用简单的 CASELIKE 语句来提取信息,例如

  • 职位,
  • 该职位是否支持远程工作,
  • 提及的任何可视化工具。

这是我们用于创建模型的 SQL

WITH raw_messages
     AS (SELECT CASE
                  WHEN message_url LIKE '%thread_ts=%' THEN
                  Substring(message_url, '.*thread_ts=(.*)')
                  ELSE Substring(message_url,
                       'https://getdbt.slack.com/archives/C7A7BARGT/(.*)'
                       )
                END AS thread_id,
                message_url,
                created_at,
                text,
                username
         FROM   random_datasets.dbt_jobs_scrape_20220802_messages),
     raw_messages_with_order
     AS (SELECT m.*,
                Row_number()
                  OVER(
                    partition BY thread_id
                    ORDER BY created_at ASC) AS post_order
         FROM   raw_messages m),
     combined_messages
     AS (SELECT m1.thread_id,
                m1.message_url,
                m1.created_at,
                m1.username,
                String_agg (m2.text, ' ') AS combined_text
         FROM   raw_messages_with_order m1
                LEFT JOIN raw_messages_with_order m2
                       ON m1.thread_id = m2.thread_id
                          AND m1.username = m2.username
         -- take message from original poster only
         WHERE  m1.post_order = 1
         GROUP  BY m1.thread_id,
                   m1.message_url,
                   m1.created_at,
                   m1.username)
SELECT *,
       -- location
       CASE
         WHEN Lower(Replace(combined_text, 'Is this role remote?', '')) LIKE
              '%remote%'
       THEN true
         WHEN Lower(combined_text) LIKE '%is this role remote? yes%' THEN true
         ELSE false
       END AS is_remote,
       -- BI stack
       CASE
         WHEN Lower(combined_text) LIKE '%metabase%' THEN true
         ELSE false
       END AS stack_includes_metabase,
       CASE
         WHEN Lower(combined_text) LIKE '%looker%' THEN true
         ELSE false
       END AS stack_includes_looker,
       CASE
         WHEN Lower(combined_text) LIKE '%tableau%' THEN true
         ELSE false
       END AS stack_includes_tableau,
       CASE
         WHEN Lower(combined_text) LIKE '%power bi%' THEN true
         ELSE false
       END AS stack_includes_powerbi,
       CASE
         WHEN Lower(combined_text) LIKE '%hex%' THEN true
         ELSE false
       END AS stack_includes_hex,
       CASE
         WHEN Lower(combined_text) LIKE '%qlik%' THEN true
         ELSE false
       END AS stack_includes_qlik,
       -- role
       CASE
         WHEN Lower(combined_text) LIKE '%analyst%' THEN true
         ELSE false
       END AS role_analyst,
       CASE
         WHEN Lower(combined_text) LIKE '%analytics engineer%' THEN true
         ELSE false
       END AS role_analytics_engineer,
       CASE
         WHEN Lower(combined_text) LIKE '%data scien%' THEN true
         ELSE false
       END AS role_data_scientist,
       CASE
         WHEN Lower(combined_text) LIKE '%data engineer%' THEN true
         ELSE false
       END AS role_data_engineer
FROM   combined_messages
WHERE  combined_text IS NOT NULL

您可能还喜欢

所有文章
我们 AI 数据集生成器背后的故事图片 2025 年 7 月 15 日,在 数据探索

我们 AI 数据集生成器背后的故事

探索我们开源 AI 数据集生成器背后的设计选择、挑战和成就。

Matthew Hefferon Portrait
Matthew Hefferon

阅读时间:3 分钟

数据栈的隐藏成本图片 2023 年 5 月 12 日,在 数据探索

数据栈的隐藏成本

一份不完整的清单,列出了与维护数据栈相关的较不明显的成本,以及一些可以用来控制这些成本的方法。

The Metabase Team Portrait
Metabase 团队

阅读时间 9 分钟

所有文章
分析师每周技巧
获取可行的见解
关于 AI 和数据的资讯,直接发送到您的收件箱
© . This site is unofficial and not affiliated with Metabase, Inc.