使用hive或spark-sal创建sparkExam库,create database if not exists sparkExam:并创建自己名字拼音的表,createtable if not exists sparkExam.xxx(id intname string,gender string,age int);插入一条自己的数据,insert into xxx values(1xxxF?M?age?)将数据创建为dataframe,并保存在MySQL同名库和表中。
时间: 2024-02-25 17:53:07 浏览: 77
好的,我明白了。下面是操作步骤:
1. 使用 Hive 命令行或者 Hue 等工具,创建数据库 sparkExam:
```
create database if not exists sparkExam;
```
2. 创建表 xxx,表结构为 id(int 类型)、name(string 类型)、gender(string 类型)和 age(int 类型):
```
create table if not exists sparkExam.xxx(id int, name string, gender string, age int);
```
3. 插入一条自己的数据,假设我的名字为 Tom,性别为男,年龄为 25:
```
insert into sparkExam.xxx values(1, 'Tom', 'M', 25);
```
4. 使用 Spark SQL 将表 xxx 中的数据读取为 DataFrame:
```scala
val spark = SparkSession.builder()
.appName("SparkExam")
.config("spark.master", "local")
.getOrCreate()
val df = spark.read.table("sparkExam.xxx")
```
5. 将 DataFrame 中的数据保存到 MySQL 中。假设 MySQL 的连接信息为:
- 主机名:localhost
- 端口号:3306
- 数据库名:sparkExam
- 用户名:root
- 密码:root
则可以使用以下代码将 DataFrame 中的数据保存到 MySQL 中:
```scala
val url = "jdbc:mysql://localhost:3306/sparkExam"
val table = "xxx"
val properties = new Properties()
properties.put("user", "root")
properties.put("password", "root")
df.write.mode("overwrite").jdbc(url, table, properties)
```
注意,这里的 mode 是 overwrite,表示如果表已经存在则覆盖原有数据。如果要追加数据,可以将 mode 改成 append。
阅读全文