先解释下,由于历史原因导致hive中的看到分区比hdfs中的文件夹不匹配,存在hive中分区数有,实际hdfs中无此文件夹. spark中通过sparkSQL读取hive中的该表时,将会出现异常. 解决方案: 1. 检查该表是否是外部表,如果不是,将属性修改为外部表属性. 这里修改为外部表,目的是在删除分区时,不会将已有的数据删除.必要时,先做好备份处理. alter table tablename set tblproperties('EXTERNAL'='TRUE'); 2. 删除异常分区…
1,报错提示: 编辑器或项目正在尝试签出在内存中修改的文件,这将导致保存该文件. 在生成过程中保存文件是危险的,这可能会在将来导致不正确的生成输出. 是否仍然继续签出? 2,原因:licenses.licx属性设为了只读. 3,解决: a,搜索''licenses.licx',去掉只读属性; b,LicensesClear.exe放到项目根目录下,双击执行. 递归取消licenses.licx只读属性,源码…
package org.langtong.sparkdemo; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.spark.SparkConf; import org.apache.spark.SparkContext; import org.apache.spark.api.java.JavaPairRDD; import org.apache.spark.api.java.JavaRDD; impor…
读文件: 读取文件 f = open('\info.txt') fil = f.read() f.close() 按行读文件: f = open("info.txt") while 1: line = f.readline() line=line.strip('\n') # 去掉换行符 if not line: break print line f.close()…
package com.zjlantone.hive import java.util.Properties import com.zjlantone.hive.SparkOperaterHive.sparkSession import org.apache.spark.rdd.RDD import org.apache.spark.sql.types.StructType import org.apache.spark.{SparkConf, SparkContext} import org.…
awk双文件互相匹配查找 要求: 文件a:  10/05766798607,11/20050325191329,29/0.1,14/05766798607  10/05767158557,11/20050325191329,29/0.08,14/05767158557  文件b:  05766798607  05766798608  05766798609  通过文件a和文件b对比,输出结果如下: 10/05766798607,11/20050325191329,29/0.1,14/057667…
转自:http://www.jb51.net/article/16396.htm java中多种方式读文件 一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException…
Hive 已是目前业界最为通用.廉价的构建大数据时代数据仓库的解决方案了,虽然也有 Impala 等后起之秀,但目前从功能.稳定性等方面来说,Hive 的地位尚不可撼动. 其实这篇博文主要是想聊聊 SMB join 的,Join 是整个 MR/Hive 最为核心的部分之一,是每个 Hadoop/Hive/DW RD 必须掌握的部分,之前也有几篇文章聊到过 MR/Hive 中的 join,其实底层都是相同的,只是上层做了些封装而已,如果你还不了解究竟 Join 有哪些方式,以及底层怎么实现的,请参…
Hive 分区介绍: hive中简单介绍分区表(partition table),含动态分区(dynamic partition)与静态分区(static partition) hive中创建分区表没有什么复杂的分区类型(范围分区.列表分区.hash分区.混合分区等). 分区列也不是表中的一个实际的字段,而是一个或者多个伪列.意思是说在表的数据文件中实际上并不保存分区列的信息与数据. 分区改变了HIVE 对数据存储的组织方式,hive 会创建反应分区结构的子目录,就是那些实际的目录名称. 对数据…
Hive分区的概念与传统关系型数据库分区不同. 传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真实的数据,在数据进行插入的时候自动分配分区. Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并不是一个实际字段. 所以可以这样理解,当我们在插入数据的时候指定分区,其实就是新建一个目录或者子目录,或者在原有的目录上添加数据文件. Hive分区的创建 Hive分区是在创建表的时候用Partitioned b…