spark
Chengliangyao
欢迎大家多多指教!
展开
-
spark中Accumulator累加器何时运行
对于Accumulator这种分布式累加计算的变量的使用,有一个重要说明:从Accumulator中,获取数据,然后进行操作的时候,一定要,一定要,是在有某一个action操作以后再进行。。。如果没有action的话,那么整个程序根本不会运行。。简单的,可以先做一个count(),然后再进行从Accumulator中获取数据。...原创 2018-03-20 11:51:37 · 359 阅读 · 0 评论 -
spark RDD 生成 DataFrame
步骤如下(以公开电影数据集分析为案例):1、读取文件,得到RDDval userRDD = sc.textFile(dataPath+"users.dat")2、定义DataFrame的结构,也就是列名,数据类型val schemaForUsers = StructType( "UserId::Gender::Age::OccupationID::Zip-code".s...原创 2018-07-25 21:51:26 · 385 阅读 · 0 评论 -
spark streaming - flume - kafka 集成启动顺序问题
在这种多个组件的组合中,常常会涉及组件的启动顺序问题,如果顺序不对会报错。一般来说顺序如下:(1)启动flume日志收集,尤其是里面的sink连接的那个组件要在这一步之后启动(2)如果要向flume中的source指定的hostname:port发送信息,该程序一定在上一步之后(3)启动kafka,获取flume发来的日志信息,因为这一步要连接flume中的sink,一定是(1)之后,...原创 2018-07-20 12:00:40 · 423 阅读 · 0 评论 -
sparkstreaming kafka Direct Approach集成问题
环境:hadoop-2.6.0-cdh5.7.0 spark-2.2.0 kafka_2.11-0.9.0.01、StringEncoder import 报错解决方法:import _root_.kafka.serializer.StringDecoder 原因没懂2、Spark Streaming 报错:kafka.cluster.BrokerEndPoint cannot be...原创 2018-07-18 13:08:28 · 273 阅读 · 0 评论 -
spark-submit 依赖第三方包
spark-submit 提交程序时如果需要一些其他包,使用--jars xxxx.jar,xxxx.jar......,使用多个jar包时需要注意,每个jar包必须从根目录开始写即/xxx/xxx...jar,否则系统会将后面的视为一个jar包...原创 2018-07-17 17:29:28 · 3494 阅读 · 0 评论 -
flume安装与简单使用
安装很简单,去下载安装包,然后解压,在系统中配置环境变量,安装包中conf下面的flume-env.sh中export JAVA_HOME=即可,安装完成后运行 安装包下bin/flume-ng version即可看到版本信息。flume的使用基本是靠配置,只要把你所需要的框架搞懂,剩下的就很简单了。一般将配置文件保存为 xxx.conf,运行的命令如下,其中conf就是conf文件夹,conf...原创 2018-07-10 11:06:41 · 3397 阅读 · 0 评论 -
MAC VMware Fusion Centos 虚拟机固定IP
1、命令行窗口进入:/Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf2、增加虚拟机的IP其中note为虚拟机的文件vmwarevm,hardware为虚拟机的mac地址,可以到虚拟机的网络配置中的高级选项中查看,如下图,第二个选项为固定IP地址,主义,ip地址一定要在范围内,打开的文件中有,注意有几个虚拟机就这样增加就行编写完毕后重启一下V...原创 2018-07-09 22:01:35 · 1729 阅读 · 2 评论 -
spark 批量插入数据到数据库中
使用批量处理的方式提高效率connection.setAutoCommit(false) //设置手动提交val sql = "xxxx"pstmt = connection.prepareStatement(sql)for (ele <- list){ ······ pstmt.addBatch()}pstmt.executeBatch() //执行批处...原创 2018-06-08 11:23:50 · 4879 阅读 · 1 评论 -
spark DataFram.createOrReplaceGlobalTempView创建Table后在sql语句中找不到table报错
使用global_temp.table名代替 table名select id,name from global_temp.tableName原创 2018-06-08 10:51:29 · 2596 阅读 · 0 评论 -
spark 调优:分区字段数据类型调整
spark读取数据返回DataFrame时,默认开启了数据类型自动转换,比如字符串20180101会被转换成整型,官网说明如下如果需要关闭这种转换,创建spark时通过config关闭,如:val spark = SparkSession.builder().appName("xxx").master("local[2]").config("spark.sql.sources.partitionC...原创 2018-06-08 10:18:19 · 1047 阅读 · 0 评论 -
spark 调优:控制输出文件的个数
DataFrame输出结果保存为文件时,尤其是根据某个条件分区时,可以控制输出文件的个数,从而减少小文件的个数DataFrame..coalesce(1).write.format("parquet").mode(SaveMode.Overwrite).partitionBy("分区条件列名").save("路径")这里coalesce指定输出文件个数...原创 2018-06-08 10:08:14 · 7961 阅读 · 0 评论 -
spark RDD 生成 DataSet
DataFrame其实是DataSet[Row],RDD生成DataSet步骤如下(还是以公开电影数据集为例):1、定义数据类(也就是一行数据作为一个对象创建类)case class User (UserID: String, Gender: String, Age: String, OccupationID: String, Zip_Code:String)2、读取数据创建RDD...原创 2018-07-25 21:57:37 · 551 阅读 · 0 评论