Coursera 笔记

Module 02 · The Data Engineering Ecosystem数据工程生态系统

Languages for Data Professionals查询、编程与脚本语言概览

Coursera ↗

本视频旨在介绍与数据专业人士工作相关的多种语言。这些语言可被归类为:查询语言、编程语言和Shell 脚本。

📌 核心要求:对于任何数据专业人士而言,精通至少每种类别中的一种语言至关重要。

语言类别速览

类别 目的 示例
查询语言 设计用于访问和操作数据库中的数据。 SQL
编程语言 设计用于开发应用程序和控制应用程序行为。 Python、R、Java
Shell 和脚本语言 适用于重复且耗时的操作任务。 Unix/Linux Shell、PowerShell

查询语言:SQL (Structured Query Language)

SQL(结构化查询语言) 是一种查询语言,主要(但并非唯一)设计用于访问和操作关系数据库中的信息。

核心操作

使用 SQL,可以编写一系列指令来执行以下操作:

  • 在数据库中插入、更新和删除记录。
  • 创建新的数据库、表和视图。
  • 编写存储过程:即编写一套指令并调用它们供以后使用。

SQL 的优势

  • 可移植性:SQL 是可移植的,可以独立于平台使用。
  • 广泛适用性:可用于查询各种数据库和数据存储库中的数据,尽管每个供应商可能存在一些变体和特殊扩展。
  • 语法简洁:其语法与英语相似,简单直观。
  • 高效简洁:使用 SELECT、INSERT INTO 和 UPDATE 等基本关键字,开发人员可以用比其他一些编程语言更少的代码行编写程序。
  • 快速检索:能够快速高效地检索大量数据。
  • 解释器系统:它在解释器系统上运行,代码可以立即执行,使原型制作快速简便。
  • 流行度高:SQL 是最流行的查询语言之一,凭借其庞大的用户社区和多年积累的文档,在全球范围内持续为所有用户提供统一的平台。

编程语言

Python

Python 是一种广泛使用的开源、通用、高级编程语言。

Python 的特点与优势

  1. 易学性与简洁性
  • 被认为是最容易学习的语言之一,拥有庞大的开发社区。
  • 语法允许程序员以更少的代码行表达概念。
  • 专注于简洁性和可读性,学习曲线低,是初学者的理想工具。
  • 与其他语言相比,使用 Python 完成任务所需的代码行数更少。
  1. 高性能计算
  • 非常适合处理大量数据中的高计算任务,否则会极其耗时和繁琐。
  • 提供 Numpy 和 Pandas 等库,通过并行处理简化了此类任务。
  1. 多范式支持
  • 支持多种编程范式,如面向对象、指令式、函数式和过程式,使其适用于广泛的使用案例。
  1. 开源与跨平台
  • 开源,免费,采用社区驱动的开发模式。
  • 可在 Windows 和 Linux 环境中运行,并可移植到多个平台。
  1. 丰富的库生态系统
  • 拥有广泛的社区支持和大量实用的分析库。
  • 拥有多个开源库,用于数据操作、数据可视化、统计学和数学等。
  • 主要库和功能包括:
    • Pandas:用于数据清洗和分析。
    • Numpy 和 Scipy:用于统计分析。
    • Beautifulsoup 和 Scrapy:用于网络爬虫。
    • Matplotlib 和 Seaborn:用于以条形图、直方图和饼图等形式进行数据可视化。
    • OpenCV:用于图像处理。

R

R 是一种开源编程语言和环境,专为数据分析、数据可视化、机器学习和统计学而设计。

R 的关键优势

  • 数据分析核心:广泛用于开发统计软件和执行数据分析。
  • 强大的可视化能力:特别以其创建引人注目的可视化的能力而闻名,使其在该领域优于其他一些语言。
  • 开放且独立于平台:是一种开源、独立于平台的编程语言。
  • 可配对性:可以与包括 Python 在内的多种编程语言搭配使用。
  • 高度可扩展:开发人员可以通过定义新函数持续添加功能。
  • 全面的数据处理能力:有助于处理结构化和非结构化数据,具备更全面的数据处理能力。
  • 图形库:拥有 Ggplot2 和 Plotly 等库,为用户提供美观的图形绘制。
  • 报告与交互式应用:可以制作嵌入数据和脚本的报告,以及允许用户与结果和数据进行交互的交互式 Web 应用。
  • 统计工具开发的主导者:在开发统计工具方面,R 在其他编程语言中占据主导地位。

Java

Java 是一种面向对象、基于类、独立于平台的编程语言,最初由 Sun Microsystems 开发。

Java 的应用

  • 高排名:是当今使用的排名靠前的编程语言之一。
  • 数据分析流程:Java 应用于数据分析的多个过程,包括数据清洗、数据导入导出、统计分析和数据可视化。
  • 大数据框架:大多数流行的大数据框架和工具(如 Hadoop、Hive 和 Spark)通常都是用 Java 编写的。
  • 速度关键项目:完美适用于对速度要求苛刻的项目。

Shell 和脚本语言

Unix/Linux Shell

Unix/Linux Shell 是为 UNIX Shell 编写的计算机程序。它是一系列以纯文本文件编写的 UNIX 命令,用于完成特定的任务。

用途与优点

  • 编写快速简便:编写 Shell 脚本快速简便。
  • 自动化重复任务:对于重复性任务最有用,这些任务如果每次输入一行命令会非常耗时。
  • 典型的操作包括:
    • 文件操作
    • 程序执行
    • 系统管理任务,如磁盘备份和评估系统日志
    • 复杂程序的安装脚本
    • 执行例行备份
    • 运行批处理

PowerShell

PowerShell 是 Microsoft 推出的一款跨平台自动化工具和配置框架。

核心特性

  • 优化目标:它针对处理 JSON、CSV、XML 等结构化数据格式以及 REST API、网站和办公应用进行了优化。
  • 组成:由一个命令行 Shell 和脚本语言组成。
  • 面向对象:PowerShell 是面向对象的,这使得对流经数据管道的对象可以执行过滤、排序、测量、分组、比较等多种操作。
  • 其他应用:它也是一个用于数据挖掘、构建 GUI 以及创建图表、仪表板和交互式报告的优秀工具。