什么是数据?
#编程 #database #data #sre

数据有三类:结构化,半结构化和非结构化。每种类型的数据都有其自身的特征和用例,了解它们之间的差异对于有效的数据管理和分析至关重要。

结构化数据是组织且易于搜索的。它通常存储在关系数据库中,其格式用预定的列,数据类型和关系定义了。

示例包括来自企业资源计划(ERP)Systems 客户关系管理(CRM)数据库财务记录的数据。可以使用 sql 和其他数据库工具轻松查询和分析结构化数据。结构化数据的示例:

import sqlite3

# Connect to the database
conn = sqlite3.connect('example.db')

# Create a table with structured data
conn.execute('''CREATE TABLE employees
             (id INT PRIMARY KEY NOT NULL,
             name TEXT NOT NULL,
             age INT NOT NULL);''')

# Insert data into the table
conn.execute("INSERT INTO employees (id, name, age) VALUES (1, 'John Doe', 25)")
conn.execute("INSERT INTO employees (id, name, age) VALUES (2, 'Jane Smith', 30)")

# Query the data from the table
cursor = conn.execute("SELECT * FROM employees")
for row in cursor:
    print("ID = ", row[0])
    print("Name = ", row[1])
    print("Age = ", row[2])

# Close the database connection
conn.close()

一个结构化数据库表,具有用于ID,名称和年龄的预定列的列。我们将数据插入表中,并使用SQL进行查询。


半结构化数据属于结构化和非结构化数据之间的位置。它具有定义的结构,但不如结构化数据那么刚性。

半结构化数据通常包括提供其他上下文的元数据和标签。示例包括 XML JSON 文件,这些文件通常用于在Web应用程序之间交换数据。

import json

# Define a JSON object with semi-structured data
employee = {
  "id": 1,
  "name": "John Doe",
  "age": 25,
  "department": {
    "name": "Engineering",
    "manager": "Jane Smith"
  }
}

# Convert the JSON object to a string
employee_json = json.dumps(employee)

# Print the JSON string
print(employee_json)

# Convert the JSON string back to a Python object
employee_dict = json.loads(employee_json)

# Access the data in the Python object
print(employee_dict['id'])
print(employee_dict['name'])
print(employee_dict['age'])
print(employee_dict['department']['name'])
print(employee_dict['department']['manager'])

我们定义一个带有半结构化数据的JSON对象,其中包括一个嵌套部门对象。我们将对象转换为JSON字符串,然后返回到Python对象,使用字典键访问数据。


非结构化数据缺乏任何预定义的结构。这是使用最具挑战性的数据类型,因为它包括文本,图像和多媒体文件

示例包括电子邮件,社交媒体帖子,图像和视频。使用传统数据分析工具分析非结构化数据可能具有挑战性,但是自然语言处理NLP和机器学习算法的进步使得更容易从非结构化数据中获得见解。

import pytesseract
from PIL import Image

# Open an image file with unstructured data
image = Image.open('example.png')

# Use Tesseract OCR to extract text from the image
text = pytesseract.image_to_string(image)

# Print the extracted text
print(text)

我们打开一个带有非结构化数据的图像文件,并使用Tesseract OCR从图像中提取文本。提取的文本没有预定义的结构,并且在没有高级NLP技术的情况下进行分析。


每个数据类型都有其独特的特征和用途。程序员和组织可以通过了解每个数据类型的用户酶,成本和收益来更好地管理和分析其数据,从而导致更明智的决策和更好的业务成果。

Microsoft Certificate: Azure Data fundamentals是学习在Azure生态系统中与之合作的重要资源。看起来这门课程甚至是freely available for students

我今天在整个过程中发生了一些事情,以添加上下文,以了解该行业如何思考the ongoing conversation around AI

中的数据和数据类型