创建测试数据
创建测试数据
-- 创建表
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
name VARCHAR(50),
position VARCHAR(50),
hire_date DATE
);
-- 插入测试数据
INSERT INTO employees (employee_id, name, position, hire_date) VALUES
(1, 'John Doe', 'Software Engineer', '2021-06-01'),
(2, 'Jane Smith', 'Project Manager', '2020-03-15'),
(3, 'Mike Johnson', 'Data Analyst', '2021-08-23');
导出数据库
- 从RDS-MYSQL数据库快照导出到S3存储桶
格式
database[.schema][.table] database2[.schema2][.table2] ... databasen[.scheman][.tablen]
例如:
mydatabase mydatabase2.myschema1 mydatabase2.myschema2.mytable1 mydatabase2.myschema2.mytable2
- 创建一个 IAM 角色,以便 Amazon RDS 可以代入该 IAM 角色,代表访问 Amazon S3 桶.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "sts:AssumeRole"
}
]
}
-
创建一个KMS秘钥,授权给上面那个角色
-
下载文件–parquet格式
需要的依赖:
- pip install mysql-connector-python
- pip install pyarrow
- pip install pandas
- 下载文件到本地转换格式
import pandas as pd
# 读取Parquet文件
df = pd.read_parquet(r'D:\文件\ts.parquet')
# 将数据保存为CSV文件
df.to_csv(r'D:\文件\ts2.csv', index=False)
- 创建对应的数据表
SHOW CREATE TABLE table_name;
# 可以先查看建表语句
- 导入创建好的数据表
import mysql.connector
import csv
# 数据库连接配置
host = "8.137.125.230"
user = "root"
password = "nissan123"
database = "ts1"
# CSV文件路径
csv_file_path = 'D:/文件/PPT/ts2.csv'
# 建立数据库连接
conn = mysql.connector.connect(host=host, user=user, passwd=password, database=database)
cursor = conn.cursor()
# 打开CSV文件
with open(csv_file_path, mode='r') as csv_file:
csv_reader = csv.reader(csv_file)
next(csv_reader) # 跳过头部
# 遍历CSV文件中的每一行
for row in csv_reader:
# 构建插入语句
sql = "INSERT INTO employees (employee_id, name, position, hire_date) VALUES (%s, %s, %s, %s)"
cursor.execute(sql, row)
# 提交到数据库执行
conn.commit()
# 关闭连接
cursor.close()
conn.close()