连接数据库并获取数据
Kotlin DataFrame library 支持最常见的 SQL 数据库:
查看 GitHub 上的 Kotlin DataFrame SQL 示例.
开始前的准备工作
要遵循本教程进行操作, 需要执行以下步骤:
选择 File | New | Kotlin Notebook.
在 Notebook 的第一个单元中, 为你的数据库添加 Java Database Connectivity (JDBC) 驱动程序依赖项.
例如, 要连接到 MariaDB 数据库, 请添加:
USE { dependencies("org.mariadb.jdbc:mariadb-java-client:$version") }导入 Kotlin DataFrame:
%use dataframe要在其他所有代码单元(Code Cell)之前, 运行包含
%use dataframe的代码单元, 以确保 DataFrame 库及其 API 在 Notebook 中可以使用.
连接到数据库
要连接到数据库, 请使用 DbConnectionConfig() 函数创建一个连接配置:
导入以下功能:
import org.jetbrains.kotlinx.dataframe.io.DbConnectionConfig import org.jetbrains.kotlinx.dataframe.schema.DataFrameSchema使用
DbConnectionConfig()函数, 定义连接参数(URL, username, password):val URL = "YOUR_URL" val USER_NAME = "YOUR_USERNAME" val PASSWORD = "YOUR_PASSWORD" val dbConfig = DbConnectionConfig(URL, USER_NAME, PASSWORD)
检查数据库 schema
在装载数据之前, 先检查数据库 schema, 了解你有哪些表, 它们包含哪些列. 你可以根据 schema 来决定将哪个表装载到 DataFrame 中.
要获取数据库中所有用户创建的表的 schema, 请使用 DataFrameSchema.readAllSqlTables() 函数:
装载数据
在你检查了数据库 schema 并选择好数据之后, 将数据装载到 DataFrame 中.
Kotlin DataFrame 提供了两种方式从数据库装载数据:
直接从表装载数据.
装载自定义 SQL 查询的结果.
两种方式都返回一个 DataFrame, 你可以对它进行检查, 变换, 和分析.
从表装载数据
要从表装载数据, 请使用 DataFrame.readSqlTable() 函数.
下面的示例从 movies 表装载最前面的 100 行:
使用 SQL 查询装载数据
要在你的数据库上执行特定的 SQL 查询, 请使用 DataFrame.readSqlQuery() 函数. 当你需要在数据库中装载特定的列, 结合多个表, 过滤行, 或聚合数据时, 这种方式非常有用.
我们来获取由 Quentin Tarantino 导演的电影的数据集. 这个查询对每部电影选取电影的详细信息, 以及相关的体裁:
处理数据
将数据库中的数据装载到 DataFrame 之后, 你可以使用 DataFrame 的操作来处理获取的数据.
例如, 我们来操作上一节中的数据. 下面的代码执行以下操作:
替换
year列中缺失的值, 使用.fillNA()函数.将该列转换为
Int, 使用.convert()函数.只保留 2000 年之后发布的影片 使用
.filter()函数.
分析数据
使用 DataFrame 库, 对数据进行分组, 排序, 以及聚合, 帮助你发现和理解数据中的模式.
例如, 我们来从 actors 表读取演员数据, 找出前 20 个最常见的名字:
下一步做什么
学习使用 Kandy 库 进行数据可视化
阅读 使用 Kandy 进行数据可视化, 学习数据可视化的更多知识
关于 Kotlin 中用于数据科学和分析的工具和资源的广泛的概述, 请参见 用于数据分析的 Kotlin 和 Java 库