Spark整合hive实现数据的读取输出
实验环境: linux centOS 6.7 vmware虚拟机

乌鲁木齐网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。成都创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
spark-1.5.1-bin-hadoop-2.1.0
apache-hive-1.2.1
eclipse 或IntelJIDea 本次使用eclipse.
代码:
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.hive.HiveContext;
public class SparkOnHiveDemo {
public static void main(String[] args) {
// 首先还是创建SparkConf
SparkConf conf = new SparkConf().setAppName("HiveDataSource");
// 创建JavaSparkContext
JavaSparkContext sc = new JavaSparkContext(conf);
// 创建HiveContext,注意,这里,它接收的是SparkContext作为参数,不是JavaSparkContext
HiveContext hiveContext = new HiveContext(sc.sc());
//1.可以使用HiveContext 下面的sql(xxx语句)执行HiveSQL语句
//1 .删除表,创建表
// stars_infos ,stars_scores
hiveContext.sql("DROP TABLE IF EXISTS stars_infos");
hiveContext.sql("CREATE TABLE IF NOT EXISTS stars_infos(name STRING,age INT) "
+ "row format delimited fields terminated by ','");
//2.向表里面导入数据
hiveContext.sql("LOAD DATA "
+ "LOCAL INPATH "
+ "'/root/book/stars_infos.txt' "
+ "INTO TABLE stars_infos");
hiveContext.sql("DROP TABLE IF EXISTS stars_scores");
hiveContext.sql("CREATE TABLE IF NOT EXISTS stars_scores(name STRING,score INT) "
+ "row format delimited fields terminated by ','");
hiveContext.sql("LOAD DATA "
+ "LOCAL INPATH "
+ "'/root/book/stars_score.txt' "
+ "INTO TABLE stars_scores");
//3.从一张已经存在的hive表里面拿数据,转换为DF
DataFrame superStarDataFrame = hiveContext.sql("SELECT si.name,si.age,ss.score "
+ "FROM stars_infos si "
+ "JOIN stars_scores ss ON si.name=ss.name "
+ "WHERE ss.score>=90");
//4.把DF的数据再持久化到hive中去,千万别和registerTemtable搞混了
hiveContext.sql("DROP TABLE IF EXISTS superStar");
superStarDataFrame.saveAsTable("superStar");
//5.直接从Hive中得到DF
hiveContext.table("superStar").show();
sc.close();
}
}元数据:
可以下载附件,然后上传到指定的目录下。
把程序打包jar后上传到linux指定的目录下,写一个脚本。脚本附件见正文。具体内容修改即可。
运行脚本就可以了。当然要保证MySQL数据库正常,hive正常。
附件:http://down.51cto.com/data/2366931
分享名称:Spark整合hive实现数据的读取输出
文章URL:http://www.jxjierui.cn/article/jjcphi.html


咨询
建站咨询
