spark 读取 elasticsearch数据】的更多相关文章

最近要在 Spark job 中通过 Spark SQL 的方式读取 Elasticsearch 数据,踩了一些坑,总结于此. 环境说明 Spark job 的编写语言为 Scala,scala-library 的版本为 2.11.8. Spark 相关依赖包的版本为 2.3.2,如 spark-core.spark-sql. Elasticsearch 数据 schema { "settings": { "number_of_replicas": 1 }, &qu…
–master spark://10.8.2.100:7077 –jars /usr/local/spark-1.5.2/lib/elasticsearch-hadoop-2.1.1.jar…
对于复杂的数据类型,比如IP和GeoPoint,只是在elasticsearch中有效,用spark读取时会转换成常用的String类型. Geo types. It is worth mentioning that rich data types available only in Elasticsearch, such asGeoPoint or GeoShape are supported by converting their structure into the primitives…
1.KafkaUtils.createDstream 构造函数为KafkaUtils.createDstream(ssc, [zk], [consumer group id], [per-topic,partitions] ) 使用了receivers来接收数据,利用的是Kafka高层次的消费者api,对于所有的receivers接收到的数据将会保存在spark executors中,然后通过Spark Streaming启动job来处理这些数据,默认会丢失,可启用WAL日志,该日志存储在HDF…
在分布式计算中,为了提高计算速度,数据本地性是其中重要的一环. 不过有时候它同样也会带来一些问题. 一.问题描述 在分布式计算中,大多数情况下要做到移动计算而非移动数据,所以数据本地性尤其重要,因此我们往往也是将hdfs和spark部署在相同的节点上,有些人可能会发现即使他已经这么做了,在spark的任务中的locality还是ANY,这说明所有的数据都是走的网络IO. 在没有没有shuffle的情况下,仅在数据读取阶段网络IO占用都很严重,可以看下ganglia的监控,最高峰出现在读取数据阶段…
在日常工作中,有时候需要读取mysql的数据作为DataFrame数据源进行后期的Spark处理,Spark自带了一些方法供我们使用,读取mysql我们可以直接使用表的结构信息,而不需要自己再去定义每个字段信息.下面是我的实现方式. 1.mysql的信息: mysql的信息我保存在了外部的配置文件,这样方便后续的配置添加. mysql的信息我保存在了外部的配置文件,这样方便后续的配置添加. //配置文件示例: [hdfs@iptve2e03 tmp_lillcol]$ cat job.prope…
在分布式计算中,为了提高计算速度,数据本地性是其中重要的一环. 不过有时候它同样也会带来一些问题. 一.问题描述 在分布式计算中,大多数情况下要做到移动计算而非移动数据,所以数据本地性尤其重要,因此我们往往也是将hdfs和spark部署在相同的节点上,有些人可能会发现即使他已经这么做了,在spark的任务中的locality还是ANY,这说明所有的数据都是走的网络IO. 在没有没有shuffle的情况下,仅在数据读取阶段网络IO占用都很严重,可以看下ganglia的监控,最高峰出现在读取数据阶段…
Spark1.6.2 读取 HBase 1.2.3 //hbase-common-1.2.3.jar //hbase-protocol-1.2.3.jar //hbase-server-1.2.3.jar //htrace-core-3.1.0-incubating.jar //metrics-core-2.2.0.jar val sparkConf = new SparkConf() .setAppName("User") // 创建 spark context val sc = n…
def main(args: Array[String]): Unit = { val hConf = HBaseConfiguration.create(); hConf.set("hbase.zookeeper.quorum","m6,m7,m8") val tableName = "t_person" hConf.set(TableInputFormat.INPUT_TABLE, tableName) val hAdmin = new HB…
注意:将mysql的驱动包拷贝到spark/lib下,将hive-site.xml拷贝到项目resources下,远程调试不要使用主机名 import org.apache.spark._ import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.sql.hive.HiveContext import java.io.FileNotFoundException im…
主要内容: 通过JavaAPI和Shell命令两种方式操作ES集群 集群环境: 两个 1,未配置集群名称的单节点(模拟学习测试环境); 2,两个节点的集群(模拟正常生产环境). JDK8+ElasticSearch5.1.2(大版本一致即可) Shell命令: 首先存入一条数据 curl -X PUT localhost:9200/website/blog/1 -d '{ "name":"51nenli" }' 未配置集群名称的单节点(模拟学习测试环境) curl…
一 环境: spark-: hive-; scala-; hadoop--cdh-; jdk-1.8; mongodb-2.4.10; 二.数据情况: MongoDB数据格式{    "_id" : ObjectId("5ba0569cafc9ec432bd310a3"),    "id" : 7,    "name" : "7mongoDBi am using mongodb now",    "…
摘要:脏数据对数据计算的正确性带来了很严重的影响.因此,我们需要探索一种方法,能够实现Spark写入Elasticsearch数据的可靠性与正确性. 概述 Spark与Elasticsearch(es)的结合,是近年来大数据解决方案很火热的一个话题.一个是出色的分布式计算引擎,另一个是出色的搜索引擎.近年来,越来越多的成熟方案落地到行业产品中,包括我们耳熟能详的Spark+ES+HBase日志分析平台. 目前,华为云数据湖探索(DLI)服务已全面支持Spark/Flink跨源访问Elastics…
原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果保存到mysql中. 开发环境: java:1.8 IDEA spark:1.6.2 一.读取mysql数据 1.创建一个mysql数据库 user_test表结构如下: create table user_test ( id int(11) default null comment "id&quo…
Spark 整合ElasticSearch 因为做资料搜索用到了ElasticSearch,最近又了解一下 Spark ML,先来演示一个Spark 读取/写入 ElasticSearch 简单示例.(spark 读取ElasticSearch中数据) 环境:IDEA2016,JDK8,windows10,安装的 ElasticSearch6.3.2 和 spark-2.3.1-bin-hadoop2.7,使用mvn package 将程序打成jar包,采用spark-submit提交给spar…
8.Hadoop输入输出格式 除了 Spark 封装的格式之外,也可以与任何 Hadoop 支持的格式交互.Spark 支持新旧两套Hadoop 文件 API,提供了很大的灵活性. 要使用新版的 Hadoop API 读入一个文件,需要告诉 Spark 一些东西. newAPIHadoopFile接收一个路径以及三个类.第一个类是“格式”类,代表输入格式.相似的函数hadoopFile() 则用于使用旧的 API 实现的 Hadoop 输入格式.第二个类是键的类,最后一个类是值的类.如果需要设定…
一.动机 我们已经学了很多在 Spark 中对已分发的数据执行的操作.到目前为止,所展示的示例都是从本地集合或者普通文件中进行数据读取和保存的.但有时候,数据量可能大到无法放在一台机器中,这时就需要探索别的数据读取和保存的方法了. Spark 及其生态系统提供了很多可选方案.本章会介绍以下三类常见的数据源. • 文件格式与文件系统:对于存储在本地文件系统或分布式文件系统(比如 NFS.HDFS.Amazon S3 等)中的数据,Spark 可以访问很多种不同的文件格式,包括文本文件.JSON.S…
1.工程依赖 <properties> <spark_version>2.3.1</spark_version> <!-- elasticsearch--> <elasticsearch.version>5.5.2</elasticsearch.version> <fastjson.version>1.2.28</fastjson.version> <elasticsearch-hadoop.versio…
def main(args: Array[String]): Unit = { val conf = new SparkConf() conf.set("spark.master", "local") conf.set("spark.app.name", "spark demo") val sc = new SparkContext(conf); // 读取hdfs数据 val textFileRdd = sc.textFil…
使用spark访问elasticsearch的数据,前提是spark能访问hive,hive能访问es http://blog.csdn.net/ggz631047367/article/details/50445832 1.配置 cp elasticsearch-hadoop-2.1.1/dist/elasticsearch-hadoop-2.1.1.jar /usr/local/spark-1.5.2/lib/ 2.修改配置文件/usr/local/spark/conf/hive-site.…
本文将介绍如何通过Hive来读取ElasticSearch中的数据,然后我们可以像操作其他正常Hive表一样,使用Hive来直接操作ElasticSearch中的数据,将极大的方便开发人员.本文使用的各组件版本分别为 Hive0.12.Hadoop-2.2.0.ElasticSearch 2.3.4. 我们先来看看ElasticSearch中相关表的mapping: {     "user": {         "properties": {           …
读取结构化数据 Spark可以从本地CSV,HDFS以及Hive读取结构化数据,直接解析为DataFrame,进行后续分析. 读取本地CSV 需要指定一些选项,比如留header,比如指定delimiter值,用,或者\t或者其他. import org.apache.spark.sql.{DataFrame, SparkSession}object ReadCSV { val spark: SparkSession = SparkSession .builder() .appName(Spar…
Spark学习之数据读取与保存(4) 1. 文件格式 Spark对很多种文件格式的读取和保存方式都很简单. 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件.通过扩展名进行处理. 2. 读取/保存文本文件 Python中读取一个文本文件 input = sc.textfile("file:///home/holen/repos/spark/README.md") Scala中读取一个文本文件 val input = sc.textFile(&q…
1 RDD编程实战案例一 数据样例 字段说明: 其中cid中1代表手机,2代表家具,3代表服装 1.1 计算订单分类成交金额 需求:在给定的订单数据,根据订单的分类ID进行聚合,然后管理订单分类名称,统计出某一天商品各个分类的成交金额,并保存至Mysql中 (1)法一,将json数据解析出来,直接使用 object IncomeKpi { private val logger: Logger = LoggerFactory.getLogger(IncomeKpi.getClass) def ma…
https://mp.weixin.qq.com/s/KPTM02-ICt72_7ZdRZIHBA 苏宁基于Spark Streaming的实时日志分析系统实践 原创: AI+落地实践 AI前线 2018-03-07 前言 目前业界基于 Hadoop 技术栈的底层计算平台越发稳定成熟,计算能力不再成为主要瓶颈. 多样化的数据.复杂的业务分析需求.系统稳定性.数据可靠性, 这些软性要求, 逐渐成为日志分析系统面对的主要问题.2018 年线上线下融合已成大势,苏宁易购提出并践行双线融合模式,提出了智…
1. 任务背景 近日有个项目任务,要求读取压缩在Zip中的百科HTML文件,经分析发现,提供的Zip文件有如下特点(=>指代对应解决方案): (1) 压缩为分卷文件 => 只需将解压缩在同一目录中的一个分卷zip即可解压缩出整个文件 (2) 压缩文件中又包含不同的两个文件夹,且各包含n个小zip文件,小zip文件中包含目录及对应的HTML文本文件 采用第一方案:依次解压缩各小zip文件,存放在一个目录中,然后上传到HDFS中 存在问题:每个小zip都包含上万个小文件,按照第一方案解压缩,耗费的…
假设这里出错的表为test表. 现象 Hive读取正常,不会报错,Spark读取就会出现: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://testcluster/user/hive/warehouse/.... 在hive中执行desc formatted test;然后找到hdfs存储路径.然后hdfs dfs -ls <your table path>会发现,报错的路径确实…
随着互联网.移动互联网和物联网的发展,我们已经切实地迎来了一个大数据 的时代.大数据是指无法在一定时间内用常规软件工具对其内容进行抓取.管理和处理的数据集合,对大数据的分析已经成为一个非常重要且紧迫的需求.目前对大数据的分析工具,首选的是Hadoop/Yarn平台,但目前对大数据的实时分析工具,业界公认最佳为Spark.Spark是基于内存计算的大数据并行计算框架,Spark目前是Apache软件基金会旗下,顶级的开源项目,Spark提出的DAG作为MapReduce的替代方案,兼容HDFS.H…
Spark读取网络输入的例子: 参考如下的URL进行试验 https://stackoverflow.com/questions/46739081/how-to-get-record-in-string-format-from-sockettextstreamhttp://www.cnblogs.com/FG123/p/5324743.html 发现 先执行 nc -lk 9999 ,再执行 spark 程序之后, 如果停止 nc ,spark程序会报错: 类似于: --------------…
Elastcisearch 是分布式的 文档 存储.它能存储和检索复杂的数据结构–序列化成为JSON文档–以 实时 的方式. 换句话说,一旦一个文档被存储在 Elasticsearch 中,它就是可以被集群中的任意节点检索到. 在 Elasticsearch 中, 每个字段的所有数据 都是 默认被索引的 . 即每个字段都有为了快速检索设置的专用倒排索引.而且,不像其他多数的数据库,它能在 相同的查询中 使用所有这些倒排索引,并以惊人的速度返回结果. 文档 不同于传统数据库,为了完美表现对象的灵活…