order_created.txt   订单编号  订单创建时间

  -- ::12.334+
-- ::12.342+
-- ::12.33+
-- ::12.33+
-- ::12.324+

order_picked.txt   订单编号  订单提取时间

  -- ::12.334+
-- ::12.342+
-- ::12.33+

上传上述两个文件到HDFS:

hadoop fs -put order_created.txt /data/order_created.txt
hadoop fs -put order_picked.txt /data/order_picked.txt

通过Spark SQL关联查询两个文件

val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
import hiveContext._ case class OrderCreated(order_no:String,create_date:String)
case class OrderPicked(order_no:String,picked_date:String) val order_created = sc.textFile("/data/order_created.txt").map(_.split("\t")).map( d => OrderCreated(d(),d()))
val order_picked = sc.textFile("/data/order_picked.txt").map(_.split("\t")).map( d => OrderPicked(d(),d())) order_created.registerTempTable("t_order_created")
order_picked.registerTempTable("t_order_picked") #手工设置Spark SQL task个数
hiveContext.setConf("spark.sql.shuffle.partitions","")
hiveContext.sql("select a.order_no, a.create_date, b.picked_date from t_order_created a join t_order_picked b on a.order_no = b.order_no").collect.foreach(println)

执行结果如下:

[,-- ::12.342+,-- ::12.342+]
[,-- ::12.334+,-- ::12.334+]
[,-- ::12.33+,-- ::12.33+]

通过Spark SQL关联查询两个HDFS上的文件操作的更多相关文章

  1. 学习SQL关联查询

    通过一个小问题来学习SQL关联查询 原话题: 是关于一个left join的,没有技术难度,但不想清楚不一定能回答出正确答案来: TabA表有三个字段Id,Col1,Col2 且里面有一条数据1,1, ...

  2. (一)SQL关联查询的使用技巧 (各种 join)

    ---恢复内容开始--- (一)SQL关联查询的使用技巧 (各种 join) 这几天因为工作的时候,发现自己的sql语句基础不是很好,特意研究了一下,发现sql语句真的是博大精深,sql语句不仅是要查 ...

  3. SQL联合查询两个表的数据

    刚有个项目,需要查询水位数据表中的水位信息,及查询降雨量表中统计时段降雨量的数据,以计算出日降雨量,而且时段是前一天8时到后一天8时总共24个小时. 两个子查询: 1.根据当前时间判断统计前天8时到今 ...

  4. [Spark][Python]对HDFS 上的文件,采用绝对路径,来读取获得 RDD

    对HDFS 上的文件,采用绝对路径,来读取获得 RDD: In [102]: mydata=sc.textFile("file:/home/training/test.txt")1 ...

  5. hadoop的API对HDFS上的文件访问

    这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...

  6. HDFS 上传文件的不平衡,Balancer问题是过慢

    至HDFS上传文件.假定从datanode开始上传文件,上传的数据将导致目前的当务之急是全datanode圆盘.这是一个分布式程序的执行是非常不利. 解决方案: 1.从其他非datanode节点上传 ...

  7. 【转载】HDFS 上传文件不均衡和Balancer太慢的问题

    向HDFS上传文件,如果是从某个datanode开始上传文件,会导致上传的数据优先写满当前datanode的磁盘,这对于运行分布式程序是非常不利的. 解决的办法: 1.从其他非datanode节点上传 ...

  8. Eclipse 上传 删除 下载 分析 hdfs 上的文件

    本篇讲解如何通过Eclipse 编写代码去操作分析hdfs 上的文件. 1.在eclipse 下新建Map/Reduce Project项目.如图:  项目建好后,会默认加载一系列相应的jar包. 下 ...

  9. eclipse通过maven进行打包并且对hdfs上的文件进行wordcount

    在eclipse中配置自己的maven仓库 1.安装maven(用于管理仓库,jar包的管理) -1.解压maven安装包 -2.把maven添加到环境变量/etc/profile -3.添加mave ...

随机推荐

  1. linux系统下根据端口查看进程

    第一步:lsof -i:端口号 第二步:根据显示的pid号,查询对应应用程序. ps -ef | grep pid (这里的pid是:23466)

  2. Java 第十周学习总结

    20145113<Java程序设计>第十周学习总结 基础知识 1.网络通讯的方式主要有两种 TCP(传输控制协议)方式:需要建立专用的虚拟连接以及确认传输是否正确 UDP(用户数据报协议) ...

  3. 1.4 云计算的SPI服务模型

    云计算是通过共享资源池的方式来提高资源利用率的.在云计算中,根据其资源池中资源的类别,可以把云计算的服务模型分为三种,即所谓的SPI 模型   应用程序 Software as a Service ( ...

  4. POJ 1321 DFS

    题意:POJ少见的中文题,福利啊. 思路: 一开始也没有思路呃呃呃 . 裸搜,连样例都过不去...参照了网上的题解:一行一行DFS 茅塞顿开啊. #include <cstdio> #in ...

  5. 修复PHP在64位下序列化(serialize)的字符串在32位机器下反序列

    32机器下PHP 整型数值的范围最大不超过2147483647,而有些超出范围的数值在64序列化好的数据标识为整型,在反序列时就可能会出错. 尝试使用以下的办法可以修复此问题 function int ...

  6. 1月12日,HTML学习笔记2

    妈蛋,这两天看HTML看上瘾了,感觉这玩意有点简单,反馈期太短了,我的python都荒废了/(ㄒoㄒ)/~~. 不多说了,把记录贴上来,到时过几天再拿出来整理一下,写上注释,顺便当做复习 去研究css ...

  7. SQL 行转列和列转行2

    DECLARE @T TABLE (columnName varchar(100) NOT NULL PRIMARY KEY); INSERT INTO @T SELECT columnName fr ...

  8. 国内最新Unity3D视频教程合辑

    麦子学院最新Unity3D视频教程上线啦,此为现目前国内最全.最新Unity3D教程,分享给广大小伙伴,希望对大家学习Unity3D有帮助: 第一阶段:Unity3D概要及入门 零基础学C#开发 Un ...

  9. oracle数据库从入门到精通之二

    重点关注表的创建与操作语法(如何创建与设计表是后话)常用数据类型表本质上是数据的集合操作数据类型:不管扩展多少种数据类型,常用的就以下几种字符串    varchar2(其它数据库是varchar)来 ...

  10. Beta版本冲刺——day6

    No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 站立式会议 今日计划表 人员 工作 ...