任何人都可以告诉我,如果有任何方式在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输出相关推荐

  1. jsp在mysql中删除数据_如何在jsp页面中删除数据库中的数据

    如何在jsp页面中删除数据库中的数据 各位大虾! 我想在jsp页面上写一个按钮功能,从而动态的删除数据库中的一行数据. 不知道怎么实现 这是我写的一段代码 数据库是MySql UserBean p3= ...

  2. mysql query 查询失败_如何在mysql进行查询缓存及失败的解决方法

    都知道函数在使用前需要弄清楚参数的属性,这样才能对函数的使用有较好的了解.有些小伙伴学习了查询缓存后,直接进行了下一步的实战操作.这里小编想提醒大家,开始操作之前一定要先设置参数,不然就会出现问题.下 ...

  3. mysql更新写入数据_七、MySQL插入、更新与删除数据

    存储在系统中的数据是数据库管理系统(DBMS)的核心,数据库被设计用来管理数据的存储.访问和维护数据的完整性.MySQL中提供丰富的数据管理语句,包括插入数据的INSERT.更新数据的UPDATE以及 ...

  4. function在mysql里总是出错_如何在MySQL函数中引发错误

    如何在MySQL函数中引发错误 我创建了一个MySQL函数,如果传递给参数的值无效,则想引发一个错误. 在MySQL函数中引发错误我有哪些选择? 6个解决方案 69 votes MySQL 5.5引入 ...

  5. 怎样往mysql里添加数据_怎么往mysql表里添加数据

    1.我们打开Mysql命令行编辑器,连接Mysql数据库: 2.使用我们要操作的数据库,我们可以先显示一下数据库中的表: 3.显示一下表结构,了解一下表中的列: 4.向表插入数据,insert int ...

  6. mysql doc插入数据_如何向MySQL数据库的表中录入数据.doc

    如何向MySQL数据库的表中录入数据 当建好了数据库及表时,首先想到的就是向数据库的表中输入数据,这就涉及到如何向数据库录入数据,下面我们就来探讨一下这个问题. 1.常用的方法是使用insert语句( ...

  7. mysql怎么插入时间_如何在MySQL中插入日期?

    在MySQL中插入日期的方法:首先打开脚本文件:然后通过[INSERT INTO tablename (col_name, col_date) VALUE ('DATE: Auto CURDATE() ...

  8. MySQL怎么展示表格_如何在MySQL数据库中显示表的架构?

    从MySQL控制台,什么命令显示任何给定表的架构? #1楼 SHOW CREATE TABLE yourTable; 要么 SHOW COLUMNS FROM yourTable; #2楼 descr ...

  9. 如何提取edit control中输入的数据_如何在Power Query中提取数据——列表篇(1)

    表名为列表,第一步骤名称为源 (一)从头开始提取 1. 获取列表第一个 List.First(list as list, optionaldefaultValue as any)as any 返回列表 ...

最新文章

  1. PCA--主成分分析(Principal components analysis)-最大方差解释
  2. python自学书籍推荐豆瓣-【转】如果有人让你推荐Python技术书,请让他看这个列表...
  3. CentOS7中通过npm的方式安装Node-RED
  4. 利用java格里高利公式求圆周率_用格里高利公式求π的近似值
  5. 【算法竞赛学习】金融风控之贷款违约预测-特征工程
  6. spring boot 对象拷贝工具(Orika)
  7. Oracle客户端安装
  8. Unity Tiling和offset的使用
  9. ios sdk 穿山甲_GitHub - ArthurKnight/flutter_ad_pangolin_plugin: iOS flutter 穿山甲插件
  10. 【0703作业】获取最低价手机价格
  11. git可视化工具Sourcetree使用全攻略(包括各种git冲突解决)
  12. 前端js使用jszip实现文件压缩功能
  13. 图解3GPP规范文档组织结构与编号规则
  14. PTA甲级 1114 Family Property (25 point(s))
  15. [转]24个英文电子书免费下载网站
  16. 2017php最新版本,2017php受权验证系统2.6.8受权系统,真正完整可用,全新界面受权源码...
  17. 北极星指标——定义与制定标准
  18. 选手的名次 C语言实现
  19. Java 对文件进行重命名操作(rename)
  20. IPv6地址基础理论讲解

热门文章

  1. Bailian3858 和数【暴力+集合】
  2. Vijos P1097 合并果子【哈夫曼树+优先队列】
  3. 【学习 Opencv】—— 常见接口
  4. python没基础能自学吗-50K大牛告诉你,没有任何编程基础,到底应该怎么自学Python...
  5. python对于设计师有什么用-如果你有设计师朋友,请对TA好一些...
  6. python教程pdf-python基础教程[高清][中文第2版].pdf
  7. python在线编辑器手机-QPython,一个在手机上运行Python的神器
  8. python发音翻译-python实现在线翻译
  9. python用什么编译器-python应选什么编译工具
  10. 30岁学python有前途吗-为什么做大数据一定要学Python?