mysql schema 保存数据_如何在mysql数据库中保存apache spark schema输出
任何人都可以告诉我,如果有任何方式在apache的火花存储在mysql数据库的JavaRDD?我从2个CSV文件中获取输入,然后在对其内容进行连接操作之后,我需要将输出(输出JavaRDD)保存在mysql数据库中。我已经能够在hdfs上成功保存输出,但是我没有找到任何有关apache Spark-MYSQL连接的信息。下面我发布spark sql的代码。这可能会成为那些正在寻找spark-sql示例的人员的参考。
package attempt1;
import java.io.Serializable;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.sql.api.java.JavaSQLContext;
import org.apache.spark.sql.api.java.JavaSchemaRDD;
import org.apache.spark.sql.api.java.Row;
public class Spark_Mysql {
@SuppressWarnings("serial")
public static class CompleteSample implements Serializable {
private String ASSETNUM;
private String ASSETTAG;
private String CALNUM;
public String getASSETNUM() {
return ASSETNUM;
}
public void setASSETNUM(String aSSETNUM) {
ASSETNUM = aSSETNUM;
}
public String getASSETTAG() {
return ASSETTAG;
}
public void setASSETTAG(String aSSETTAG) {
ASSETTAG = aSSETTAG;
}
public String getCALNUM() {
return CALNUM;
}
public void setCALNUM(String cALNUM) {
CALNUM = cALNUM;
}
}
@SuppressWarnings("serial")
public static class ExtendedSample implements Serializable {
private String ASSETNUM;
private String CHANGEBY;
private String CHANGEDATE;
public String getASSETNUM() {
return ASSETNUM;
}
public void setASSETNUM(String aSSETNUM) {
ASSETNUM = aSSETNUM;
}
public String getCHANGEBY() {
return CHANGEBY;
}
public void setCHANGEBY(String cHANGEBY) {
CHANGEBY = cHANGEBY;
}
public String getCHANGEDATE() {
return CHANGEDATE;
}
public void setCHANGEDATE(String cHANGEDATE) {
CHANGEDATE = cHANGEDATE;
}
}
@SuppressWarnings("serial")
public static void main(String[] args) throws Exception {
JavaSparkContext ctx = new JavaSparkContext("local[2]", "JavaSparkSQL");
JavaSQLContext sqlCtx = new JavaSQLContext(ctx);
JavaRDD cs = ctx.textFile("C:/Users/cyg_server/Documents/bigDataExample/AssetsImportCompleteSample.csv").map(
new Function() {
public CompleteSample call(String line) throws Exception {
String[] parts = line.split(",");
CompleteSample cs = new CompleteSample();
cs.setASSETNUM(parts[0]);
cs.setASSETTAG(parts[1]);
cs.setCALNUM(parts[2]);
return cs;
}
});
JavaRDD es = ctx.textFile("C:/Users/cyg_server/Documents/bigDataExample/AssetsImportExtendedSample.csv").map(
new Function() {
public ExtendedSample call(String line) throws Exception {
String[] parts = line.split(",");
ExtendedSample es = new ExtendedSample();
es.setASSETNUM(parts[0]);
es.setCHANGEBY(parts[1]);
es.setCHANGEDATE(parts[2]);
return es;
}
});
JavaSchemaRDD complete = sqlCtx.applySchema(cs, CompleteSample.class);
complete.registerAsTable("cs");
JavaSchemaRDD extended = sqlCtx.applySchema(es, ExtendedSample.class);
extended.registerAsTable("es");
JavaSchemaRDD fs= sqlCtx.sql("SELECT cs.ASSETTAG, cs.CALNUM, es.CHANGEBY, es.CHANGEDATE FROM cs INNER JOIN es ON cs.ASSETNUM=es.ASSETNUM;");
JavaRDD result = fs.map(new Function() {
public String call(Row row) {
return row.getString(0);
}
});
result.saveAsTextFile("hdfs://path/to/hdfs/dir-name"); //instead of hdfs I need to save it on mysql database, but I am not able to find any Spark-MYSQL connection
}
}这里最后我将结果保存在HDFS中。但现在我想保存到MYSQL数据库中。请帮助我。谢谢
mysql schema 保存数据_如何在mysql数据库中保存apache spark schema输出相关推荐
- jsp在mysql中删除数据_如何在jsp页面中删除数据库中的数据
如何在jsp页面中删除数据库中的数据 各位大虾! 我想在jsp页面上写一个按钮功能,从而动态的删除数据库中的一行数据. 不知道怎么实现 这是我写的一段代码 数据库是MySql UserBean p3= ...
- mysql query 查询失败_如何在mysql进行查询缓存及失败的解决方法
都知道函数在使用前需要弄清楚参数的属性,这样才能对函数的使用有较好的了解.有些小伙伴学习了查询缓存后,直接进行了下一步的实战操作.这里小编想提醒大家,开始操作之前一定要先设置参数,不然就会出现问题.下 ...
- mysql更新写入数据_七、MySQL插入、更新与删除数据
存储在系统中的数据是数据库管理系统(DBMS)的核心,数据库被设计用来管理数据的存储.访问和维护数据的完整性.MySQL中提供丰富的数据管理语句,包括插入数据的INSERT.更新数据的UPDATE以及 ...
- function在mysql里总是出错_如何在MySQL函数中引发错误
如何在MySQL函数中引发错误 我创建了一个MySQL函数,如果传递给参数的值无效,则想引发一个错误. 在MySQL函数中引发错误我有哪些选择? 6个解决方案 69 votes MySQL 5.5引入 ...
- 怎样往mysql里添加数据_怎么往mysql表里添加数据
1.我们打开Mysql命令行编辑器,连接Mysql数据库: 2.使用我们要操作的数据库,我们可以先显示一下数据库中的表: 3.显示一下表结构,了解一下表中的列: 4.向表插入数据,insert int ...
- mysql doc插入数据_如何向MySQL数据库的表中录入数据.doc
如何向MySQL数据库的表中录入数据 当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题. 1.常用的方法是使用insert语句( ...
- mysql怎么插入时间_如何在MySQL中插入日期?
在MySQL中插入日期的方法:首先打开脚本文件:然后通过[INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE() ...
- MySQL怎么展示表格_如何在MySQL数据库中显示表的架构?
从MySQL控制台,什么命令显示任何给定表的架构? #1楼 SHOW CREATE TABLE yourTable; 要么 SHOW COLUMNS FROM yourTable; #2楼 descr ...
- 如何提取edit control中输入的数据_如何在Power Query中提取数据——列表篇(1)
表名为列表,第一步骤名称为源 (一)从头开始提取 1. 获取列表第一个 List.First(list as list, optionaldefaultValue as any)as any 返回列表 ...
最新文章
- PCA--主成分分析(Principal components analysis)-最大方差解释
- python自学书籍推荐豆瓣-【转】如果有人让你推荐Python技术书,请让他看这个列表...
- CentOS7中通过npm的方式安装Node-RED
- 利用java格里高利公式求圆周率_用格里高利公式求π的近似值
- 【算法竞赛学习】金融风控之贷款违约预测-特征工程
- spring boot 对象拷贝工具(Orika)
- Oracle客户端安装
- Unity Tiling和offset的使用
- ios sdk 穿山甲_GitHub - ArthurKnight/flutter_ad_pangolin_plugin: iOS flutter 穿山甲插件
- 【0703作业】获取最低价手机价格
- git可视化工具Sourcetree使用全攻略(包括各种git冲突解决)
- 前端js使用jszip实现文件压缩功能
- 图解3GPP规范文档组织结构与编号规则
- PTA甲级 1114 Family Property (25 point(s))
- [转]24个英文电子书免费下载网站
- 2017php最新版本,2017php受权验证系统2.6.8受权系统,真正完整可用,全新界面受权源码...
- 北极星指标——定义与制定标准
- 选手的名次 C语言实现
- Java 对文件进行重命名操作(rename)
- IPv6地址基础理论讲解
热门文章
- Bailian3858 和数【暴力+集合】
- Vijos P1097 合并果子【哈夫曼树+优先队列】
- 【学习 Opencv】—— 常见接口
- python没基础能自学吗-50K大牛告诉你,没有任何编程基础,到底应该怎么自学Python...
- python对于设计师有什么用-如果你有设计师朋友,请对TA好一些...
- python教程pdf-python基础教程[高清][中文第2版].pdf
- python在线编辑器手机-QPython,一个在手机上运行Python的神器
- python发音翻译-python实现在线翻译
- python用什么编译器-python应选什么编译工具
- 30岁学python有前途吗-为什么做大数据一定要学Python?