数据仓库技术通过整合和清洗数据,为数据挖掘提供了重要的预处理步骤。它不仅包括数据清洗、数据整合和数据转换,还提供了在线分析处理(OLAP)工具,使得对多维数据的交互式分析成为可能,从而有效支持数据概括和数据挖掘。此外,数据仓库还能与关联、分类、预测和聚类等数据挖掘功能相结合,增强知识的交互式挖掘能力。因此,数据仓库已成为数据分析和OLAP的重要平台,是知识发现过程(KDD)中不可或缺的一步。
数据仓库为企业专业人士提供了系统化组织、理解和使用数据以制定战略决策的架构和工具。在当今竞争激烈且快速变化的世界中,数据仓库系统是有益的工具。近年来,许多公司和行业投入了数百万资金构建企业级数据仓库。
通常来说,数据仓库指的是一个与组织操作数据库分开维护的数据存储库。数据仓库允许整合多种应用系统。与关系数据库系统(RDBMS)、事务处理系统和其他文件系统等其他数据存储系统相比,数据仓库的四个关键词——面向主题、集成、时间变化和非易失性——使其脱颖而出。
实施数据仓库的三个关键要素包括服务器、仪表板和索引。下面详细讨论这些要点:
PostgreSQL是一个开源的关系数据库管理系统(RDMS),它不仅存储结构化数据,还存储非结构化数据。最重要的是,PostgreSQL的图形用户界面使其非常容易交付和管理数据库。在继续之前,需要下载并安装PostgreSQL。安装完成后,可以通过运行应用程序登录到服务器,这将在浏览器中打开pgadmin的一个门户。
默认情况下,有一个标记为PostgreSQL的数据库,但可以通过右键单击“数据库”菜单,然后选择“创建”来创建自己的数据库。
现在已经创建了服务器和数据库,需要首先安装名为“sqlalchemy”的包,该包将用于使用Python连接到数据库。可以使用以下命令在Anaconda提示符中下载并安装此包:
pip install sqlalchemy
安装并导入Python脚本中的其他必要库如下:
from sqlalchemy import create_engine
import psycopg2
import pandas as pd
import streamlit as st
接下来,需要在“records_db”数据库之间建立连接并创建一个新表,以便可以存储记录。还需要创建另一个连接到“datasets_db”数据库,以便可以存储数据集。
p_engine = create_engine("postgresql://<username>:<password>@localhost:5432/records_db")
p_engine_dataset = create_engine("postgresql://<username>:<password>@localhost:5432/datasets_db")
知道PostgreSQL的命名约定,表名必须以下划线(_)或字母(“a,b,c”而不是数字)开头,不得包含破折号(-),且长度不超过64个字符。考虑“records”表,将创建一个“name”字段,数据类型为“text”,声明为PRIMARY KEY,以及一个“details”字段作为text[](数组),这是PostgreSQL表示一维数组的表示法。
Streamlit是一个纯Python Web框架,允许开发和部署用户界面(UI)和应用程序。在这里,使用Streamlit来呈现仪表板,以便与数据库进行交互。在下面的代码中,使用不同的文本输入来插入记录、数组和数据集的名称。接下来,使用Streamlit的函数以图表和数据框的形式交互式地可视化数据集。
st.title('Dashboard')
column_1, column_2 = st.beta_columns(2)
可以在本地浏览器上运行仪表板,方法是在anaconda提示符中输入以下命令。首先,需要将根目录更改为源代码保存的位置。
cd C:\Users\your directory path...
streamlit run file_name.py