学习6


Java中使用正则表达式:(1)\\表示要插入正则表达式的反斜线,并且后面的字符有特殊意义。所以正则表达式\d在实际使用的时候就写成了 \\d。(2)要正确理解Matcher类中group组的概念,组是用括号划分的正则表达式,可以通过编号来引用组,相当于“子表达式”。由于刚开始对Java正则表达式中的组的概念不清晰,导致理解困难。当将“组”的概念与“子表达式”对应起来之后,理解matcher的group就没有障碍了。

对于需求2:现在测试用的数据库是mysql,但最终要用的数据库的Spark Sql。这2种数据库支持的sql语句还是有所差异的。我没找到Spark Sql支持的sql语句的格式说明。而且对sql语句进行语法分析也是比较复杂的,所以目前就先看看Spark Sql的源码,看看能不能在启动数据库执行sql查询之前使用Spark Sql里面的SqlParser解析sql语句、检查sql语句的合法性。


Spark Sql的总体架构:主要包括两部分,一是生成SchemaRDD,二是执行查询。总体上由四个模块组成:core、catalyst、hive、hive-Thriftserver。core:处理数据的输入输出,从不同的数据源获取数据(RDD、Parquet、json等),将查询结果输出成schemaRDD;catalyst:处理查询语句的整个处理过程,包括解析、绑定、优化、物理计划等,说其是优化器,还不如说是查询引擎;hive:对hive数据的处理hive-ThriftServer:提供CLI和JDBC/ODBC接口。所以我需要重点了解的是catalyst模块中查询语句的解析过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值