Spark SQL Data Sources API

  Spark无疑是目前大数据处理分析事实标准,而且已经具备了一个平台的潜质,何为平台,平台是且仅仅是app应用的容器或者内容的托管方,从这个视角看iOS/android是平台;简书微信也是平台;平台不提供内容、平台不与内容提供者竞争,但平台定义架构。Spark的下一步的商业发展前景维系于此,一旦Spark兼容的数据源数量、性能都具备绝对优势以后,Spark作为平台的护城河才算构筑起来,Spark作为大数据主流处理分析平台的生态城堡才算落成。

  Spark数据源组件致力于构建统一的数据访问,了解大数据的看到这句话就已经了解其复杂度大于难度,但这是一个回避不了的问题,大数据存储太多:hive、hbase、es、kafka但缺乏一个可以一致地访问它们的处理平台,这个平台不仅仅是可以访问各种异构数据,重点在于在各种异构数据源之间做到能够融合数据处理。目前看Spark的策略是内外兼修:既有自己开发开源出来的hive、hbase、kafka数据连接组件/开发规范,也有发动各个数据存储商/社区提供出来的连接器如cassandra、phoenix,因此,Spark在数据源连接器的推动、开放方面一定是不遗余力的,同时要尽量保持大数据处理事实标准这个地位以不断吸引新兴数据存储商/社区主动为Spark提供数据连接器。


  本文是databricks文章 的翻译

  从Spark1.0最早加入SparkSQL组件开始,这个组件最流行的用途之一就是将数据读入Spark平台的数据管道,早期用户最爱用它从hive表、Parquet列存储读取数据,现在读JSon 也一样方便。在Spark1.2我们迈出了更大的一步:令Spark大范围原生支持集成更多异构数据源(基于新的Spark数据源API):

激动人心的大一统Spark数据融合架构

  数据源API提供了一个可插拔机制来支持SparkSQL访问结构化数据,数据源不再仅仅是一个读取数据的管道,它提供的高度定制优化器使得行过滤和列剪枝可以在许多情况下下推到数据源本地,这种高度集成的优化可以大大减少需要处理的数据量(所谓定制、优化意指遵循不同数据源的开发规范做到分布式谓词下推)

  数据源怎么用?在SQL里引用它就是了,就这么简单!:

CREATE TEMPORARY TABLE episodes

USING com.databricks.spark.avro

OPTIONS (path "episodes.avro")

或:

CREATE TEMPORARY VIEW mysqlInfo

USING org.apache.spark.sql.jdbc

OPTIONS (url "jdbc:mysql://192.128.1.1:3306/test",

dbtable "info", user 'root', password '')

  SparkSQL的sql解析器支持你直接在sql中用它,这至少有一个好处,那就是在此基础上,可以直接在Spark的分布式SQL查询引擎上做到支持大量异构数据源,而无需编码

  数据源API的另一个好处是支持用户以任何Spark支持的语言操作数据,不管数据来源是什么,例如用scala开发的数据源,pySpark用户也可以用,而且SparkSQL支持异构数据源数据间方便地join,上述能力奠定了Spark1.2大数据分析一站式解决方案的基础。

  虽然这个API还很年轻,但已有几种库构建其上了:Apache Avro,Comma Separated Values (csv), and even dBASE Table File Format (dbf).

  目前所有的库参见mvn仓库:http://dl.bintray.com/spark-packages/maven/databricks/,csv数据源的github地址在这里  。请注意API与库的区别,数据源API是开发规范,由第三方基于它来实现结合自身数据源的数据源连接器。目前正在开发的还有Hbase、JDBC,但不得不说数据源API的推进不尽理想,参见上述mvn库列表,已发布的支持并不多,目前(2017年)由hortonworks提出的Hbase连接器shc仍处于开发当中,而华为早在2015年推出的astro也很久没有维护了。而且对于如Kafka、Hbase这些数据源似乎应当另当别论,Spark官方网站提供有集成它们的开发规范,但这些规范并不是数据源API的套路。

  最新的数据源连接器查看这里 。想要开发自己的数据源连接器可以参考这里:the reference library for reading Apache Avro, check out the example sources, or watch this meetup video.

  此外,在Spark1.3中我们想要添加:partitioning分区, persistent tables持久化表, and optional user specified schema自定义schema.

参考:Spark多数据源计算实践及其在GrowingIO的实践

如何实现一个spark数据源(基于spark 1.6.1) 



附:华为正式宣布开源Astro项目,推动Spark业界广泛应用

2015-07-23 09:12:00   来源:CTI论坛

  华为7月20日在O'Reilly Open Source Convention (OSCON) 上宣布Spark SQL on HBase package正式开源。Spark SQL on HBase package项目又名 Astro,端到端整合了Spark,SparkSQL和HBase的能力,有助于推动帮助Spark进入NoSQL的广泛客户群,并提供强大的在线查询和分析以及在垂直企业大规模数据处理能力。

  华为已经把Spark嵌入到其大数据解决方案 —— FusionInsight,在世界上最大的银行中国工商银行以及最大的通信服务提供商中国移动得到了应用。华为还将Spark作为云服务,计划在今年晚些时候随华为公有云发布。


2014年8月25日,华为团队与Spark专家在伯克利的办公室就Spark SQL On HBase设计进行交流

  Astro的新特性使得数据修改,智能扫描系统具有强大的可操作性,类似于自定义过滤器和协处理器下推式,并让更多的传统RDBS能力可用,其查询优化算法适用于一般组织的数据集,并可以通过分布式SQL引擎进行查询。为了充分利用Spark最新的功能,包括Dataframe和外部数据源API,华为全球团队一直持续更新项目代码并符合最新发布的Spark1.4版本。此项目吸引了众多社区贡献者参与到开发和验证中来。此外,华为团队还对SparkSQL,机器学习和Spark R贡献了很多新特性,丰富了Spark的标准库。

  “从作为OPNFV创始成员推动公司的核心业务网络的开放,到云计算和物联网等新业务,开源已经成为华为公司层面的战略,比如我们将世界上最轻巧的物联网操作系统LiteOS开源,在标准化和简化基础设施的同时,还可以提升物联网的可连接能力。”华为中软总裁王成录说到。

  王成录表示:“Spark凭借其在数据处理和分析的卓越架构成为Apache社区最有影响力的项目,一直是华为公司重点和首要的关注。我们相信以Spark作为我们大数据解决方案的核心,一定会给客户带来显着的优势,推动生态圈的技术创新,同时最大程度优化IT投资,成就客户”

  华为已在世界排名前5的移动运营商中国联通运营子公司部署Spark,用于解决关键业务领域问题。该系统支持多个数据源条件下的近实时查询和分析,允许分析员和数据科学家基于大规模数据更简单有效的建立模型,对于某些特定场景,建模周期甚至能够从几个月缩减至几周。另外,该系统基于Spark也成功的实现了用户推荐和离网预测。华为和联通正在携手努力,把Spark应用延伸到新的业务领域。

  而最近在南美最大的电信运营商之一的的成功商用,证明了相比传统的BI系统和数据管理平台,Spark和华为大数据解决方案能够带来更多的商业价值。运营商可以更迅速及时地获取最新的、集中的客户洞察,在试点的业务中实现更高的营销转化率,并能采用敏捷和快速的方式开发新的商业案例。数据分析人员不再需要进行MapReduce复杂编码,机器学习的规模以及性能得到了极大的改善。

  “我们很高兴华为成为Spark的主要贡献者。作为在新兴市场和电信行业的领导者,华为一直在努力扩大Spark的影响力”,Databricks 的联合创始人以及Spark的发布经理Patrick Wendell 这样评价华为:“华为从Spark项目初期就一直是坚定的贡献者。我们期望华为继续发展Spark,并推动其在全球市场的垂直应用”

  Spark提供了一个强大的编程框架,丰富的API和库,充满活力的生态系统,以及无与伦比技术创新的步伐,因而在大数据领域飞速上升。

“华为的全球团队在基于业务驱动的情况下,把新的算法加入到MLlib库中,同时在与Databricks和社区共同探索在矢量化处理以及SQL核心模块性能优化等工作的合作的可能性”,华为美国研发中心大数据带头人Bing Xiao说到, “我们已经看到社区对Astro的兴趣,通过与其他厂商合作的方式去增强和推广。此外,新兴客户对Spark SQL on OLAP cube有明显的诉求,而我们正在评估社区的接受程度,以便于开源。华为坚定地致力于Spark,并在广泛参与社区和行业建设。”

附:华为Astro(SparkSQL on Hbase)试用

使用Spark读取Hbase数据

Astro官网:http://huaweibigdata.github.io/astro/

shc官网:https://github.com/hortonworks-spark/shc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容