07 2018 档案
摘要:背景: 在写这篇博文前,自己一直没有弄明白一个问题,“在 Map 函数和 Reduce 函数中使用 System.out.print 打印日志时,输出内容在哪里显示?”。试了好多回,在 log/* 目录下找了很久都没有找到,并且尝试了很多次去找,都没有成功。这让我想通过此方法调试 Map/Reduc
阅读全文
摘要:此时注册的方法 只能在sql()中可见,对DataFrame API不可见 示例: 2)调用spark.sql.function.udf()方法 此时注册的方法,对外部可见 示例:
阅读全文
摘要:本章将介绍Scala访问修饰符。包,类或对象的成员可以使用私有(private)和受保护(protected)的访问修饰符进行标注,如果不使用这两个关键字的其中一个,那么访问将被视为公开(public)的。这些修饰符限制了对某些代码区域的成员访问。要使用访问修饰符,请将其关键字包含在包,类或对象的成
阅读全文
摘要:变量是保存存储值的内存位置的名称。这意味着当创建变量时,可以在内存中保留一些空间。 根据变量的数据类型,编译器分配内存并决定可以存储在预留内存中的内容。因此,通过为变量分配不同的数据类型,可以在这些变量中存储整数,小数或字符。 变量声明 Scala具有用于声明变量的不同语法。它们可以被定义为值,即常
阅读全文
摘要:Spark ClassNotFoundException $$anonfun$2 1. 软件环境: 2. 应用场景&问题描述 运行任务的过程中,指定主类,比如a.b.c.Test, 那么主类是可以被调用的。比如已经运行到a.b.c.Test中的代码,但是接着会报诸如:ClassNotFound :
阅读全文
摘要:1. 软件版本 2. 场景描述 在使用Spark时,有时需要存储DataFrame数据到Hive表中,一般的存储方式如下: 在DataFrame中存储一般的数据类型,比如Double、Float、String等到Hive表是没有问题的,但是在DataFrame中还有一个数据类型:vector , 如
阅读全文
摘要:需要实现的功能: 写访问spark的接口,也就是从web上输入网址就能把我们需要的信息通过提交一个job然后返回给我们json数据。 成果展示: 通过url请求,然后的到一个wordcount的json结果(借助的是谷歌浏览器postman插件显示的,直接在浏览器上输入网址是一样的效果) 使用的关键
阅读全文
摘要:用scala语言,开发好了在spark平台上可以一直运行的机器学习模型 现在有个需求: 要远程调用该模型的一些方法并获取结果 那么可以使用jetty在服务器端主节点占用一个端口然后对外提供http服务 该程序运行后占用了服务器端主节点的9998端口,通过http访问即可
阅读全文
摘要:Scala 集合类系统地区分了可变的和不可变的集合。可变集合可以在适当的地方被更新或扩展。这意味着你可以修改,添加,移除一个集合的元素。而不可变集合类,相比之下,永远不会改变。不过,你仍然可以模拟添加,移除或更新操作。但是这些操作将在每一种情况下都返回一个新的集合,同时使原来的集合不发生改变。 所有
阅读全文
摘要:Scala与Java具有相同的数据类型,具有相同的内存占用和精度。以下是提供Scala中可用的所有数据类型的详细信息的表格: 上面列出的所有数据类型都是对象。Scala中没有类似Java中那样的原始类型。 这意味着您可以调用Int,Long等方法。 Scala基本文字 Scala用于文字的规则是简单
阅读全文
摘要:枚举通常用来定义已知数量的常量,比如月份,星期,季节等等,用过java的人都知道定义枚举的关键字是enum,在scala里面和java有所不同,来看一个完整的例子定义: 上面的这个例子基本涵盖了枚举的所有常用方法,定义枚举我们继承的是Enumeration抽象类,然后通过内部对象Value来赋值每一
阅读全文
摘要:如果您熟悉Java语言语法和编程,那么学习Scala将会很容易。Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的。 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合。现在我们简单地看一下类,对象,方法和实例变量的含义。 对象 - 对象有状态和行为
阅读全文
摘要:Scala可以安装在任何基于UNIX/Linux或基于Windows的系统上。在您的机器上开始安装Scala之前,必须在计算机上安装Java 1.8或更高版本。 下面请按照以下步骤安装Scala。 步骤1:安装Java 首先,您需要在系统上安装Java软件开发工具包(SDK)。要验证是否已经安装了J
阅读全文
摘要:从jvm来看,scala中的@究竟是个什么鬼? 我也是初步尝试来看jvm的类文件,又是初次来分析@,如不对的地方,请各位指正! 先看一下@ 是个什么? 运行结果: 但 @在idea中源代码中点击不开,既不是 函数,也不是运算符,那scala中编译后究竟是什么呢 ?能否 从JVM来看看 ? 1,写2个
阅读全文
摘要:Scala是可扩展语言的缩写,是一种混合功能编程语言。 它由Martin Odersky创建。 Scala顺利整合面向对象和函数式语言的功能。 Scala被编译后在Java虚拟机上运行。 许多现有公司依靠Java进行关键业务应用转向或正在转向Scala,以提高其开发生产力,应用程序可扩展性和整体可靠
阅读全文
摘要:对scala中的集合类虽然有使用,但是一直处于一知半解的状态。尤其是与java中各种集合类的混合使用,虽然用过很多次,但是一直也没有做比较深入的了解与分析。正好趁着最近项目的需要,加上稍微有点时间,特意多花了一点时间对scala中的集合类做个详细的总结。 1.数组Array 在说集合类之前,先看看s
阅读全文
摘要:package test /* 1.在scala集合中,Iterable是共同的Trait,Iterable要求继承者实现一些共同的方法,例如元素的遍历 * 2。Array是scala基础的数据结构,不从属于scala集合体系 * 3.scala集合分为可变和不可变集合。,不可变集合在scala.collection.immutable里,可变在scala.collection.mutabl...
阅读全文
摘要:1、Spark on Yarn下JVM的OOM问题及解决方式 2、Spark中Driver的Stack Overflow的问题及解决方式 Spark on Yarn cluster mode: 此时有可能会报OOM的错误,具体来说: 由于Client模式下一定没有出现OOM,而在Cluster模式下
阅读全文
摘要:1、RDD的局限性 RDD仅表示数据集,RDD没有元数据,也就是说没有字段语义定义。 RDD需要用户自己优化程序,对程序员要求较高。 从不同数据源读取数据相对困难。 合并多个数据源中的数据也较困难。 2 DataFrame和Dataset (1)DataFrame 由于RDD的局限性,Spark产生
阅读全文
摘要:Spark SQL所支持的SQL语法 如果只用join进行查询,则支持的语法为: Spark SQL的SQL的框架 与Hive Metastore结合 (1)Spark要能找到HDFS和Hive的配置文件 第1种方法:可以直接将core-site.xml、hdfs-site.xml和hive-sit
阅读全文
摘要:Spark SQL快速入门 本地表 (1)准备数据 (2)确认HDFS已经启动 (3)进入spark-sql (4)创建表 (5)查看表结构 (6)查询本地数据表 使用spark-sql处理Hive MeteStore中的表 注意,默认HDFS已经启动。 (1)hive-site.xml hive可
阅读全文
摘要:Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储。远端存储比较适合生产环境。Hive官方wiki详细介绍了这三种方式,链接为:Hive Metastore。 一、本地derby 这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可 注:使用de
阅读全文