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

阅读时间:5分钟

#jobs #jobs #jobs | 探索数据工作发布趋势

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

‧ 5分钟阅读

#jobs #jobs #jobs | Exploring trends in data jobs postings Image
分享这篇文章

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

他们的#jobs频道自2021年以来每月有100多个职位发布,因此我们将数据拉入Metabase,看看是否可以发现任何模式。

Data jobs dashboard

您可以探索完整的仪表板,或者继续阅读我们的观察和如何构建它的步骤。

观察结果

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

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

从2021年开始,超过一半的职位发布是远程工作,比2021年之前20%的比例有所增加。

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

我们如何获得数据

将数据导入Metabase

  1. 我们使用Phantombuster从dbt的#jobs频道拉取原始消息到CSV文件。
  2. 我们将CSV文件上传到Google表格,并使用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

你可能还会喜欢

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

数据堆栈的隐藏成本

维护数据堆栈与一些不那么明显相关的成本的不完整清单,以及一些可以保持这些成本在控制之下的做法。

The Metabase Team Portrait
Metabase 团队

阅读时间:9分钟

顶级GitHub项目的bus因素图片 2022年11月14日,在数据探索

顶级GitHub项目的bus因素

最多星标的顶级一千个GitHub仓库的bus因素是多少?

The Metabase Team Portrait
Metabase 团队

阅读时间:4分钟

所有帖子
Close Form Button

订阅我们的通讯

保持与Metabase的更新和新闻的联系。绝不发送垃圾邮件。