- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 spark-sql broadcast join的一个注意点
1 spark-sql的broadcast join需要先判断小表的size是否小于spark.sql.autoBroadcastJoinThreshold设定的值(byte).2 在spark中size的估算表示为statistics类,仅对hive relation 有效,因为其最初是从hive元数据库中读取所需的统计值的.因此对于jdbc relation等来说,无法触发broadcast...
2018-11-27 22:03:52 2482
原创 spark cache (几种缓存方法)
sql语句中cache //缓存全表 sqlContext.sql("CACHE TABLE activity") //缓存过滤结果 sqlContext.sql("CACHE TABLE activity_cached as select * from activity where ...") //取消缓存 sqlContext.sql("UNCACHE TABLE activi...
2018-11-27 21:54:48 3330
原创 在同一节点启动多个spark master(worker)
在已经启动spark master(worker)的机器上再启动master,提示错误:org.apache.spark.deploy.worker.Worker running as process XXXXX. Stop it first.根据抛出错误的源码,可得解决方法:export SPARK_IDENT_STRING=foo (默认为用户名, woker节点同样需要设置才可匹配)...
2018-11-26 20:14:18 2854 2
原创 JAVA线程映射为linux内核线程
java语言对外号称一次编写到处运行,平台无关性的一大优点,及其正是因为jdk以及jvm把平台的差异自己封装实现了,提供给java语言使用者或者java应用程序才显示出平台无关性。(一个Native方法往往意味着这个方法没有使用或无法使用平台无关的手段来实现,当然也可能是为了执行效率而使用Native方法,不过,通常最高效的手段也就是平台相关的手段)实现线程主要有3种方式:1)使用内核线程...
2018-08-23 20:49:12 2382
原创 java内存区域与内存模型(JMM)
1. java内存区域 如上图所示,JVM中的运行时数据区应该包括这些部分。在JVM规范中虽然规定了程序在执行期间运行时数据区应该包括这几部分,但是至于具体如何实现并没有做出规定,不同的虚拟机厂商可以有不同的实现方式。其中黄色部分代表的是所有线程共享的数据区域,而蓝色部分代表的是每个线程的私有数据区域。方法区 方法区属于线程共享的内存区域,又称Non-Heap(非堆)...
2018-08-23 20:14:51 254 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人