spark_load csv to hive via hivecontext

//prepare csv

year,make,model,comment,blank
"2012","Tesla","S","No comment",
"1997","Ford,E350","Go get one now they are going fast",
"2015","Chevy","Volt"

//Processing and inserting data in hive without schema

import org.apache.spark.sql.hive.HiveContext
import org.apache.spark.sql.hive.orc._
val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
val df = hiveContext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema", "true").load("/tmp/cars.csv")
val selectedData = df.select("year", "model")
selectedData.write.format("orc").option("header", "true").save("/tmp/newcars")

//permission issues as user hive

// org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:java.security.AccessControlException: Permission denied: user=hive, access=WRITE, inode="/tmp/newcars":hdfs:hdfs:drwxr-xr-x
//Updated /tmp/newcars_orc_cust17 directory permissions

hiveContext.sql("create external table newcars_orc_ext_cust17(year string,model string) stored as orc location ‘/tmp/newcars‘")
hiveContext.sql("show tables").collect().foreach(println)

hiveContext.sql("select * from newcars").collect().foreach(println)

时间: 2024-10-05 11:54:00

spark_load csv to hive via hivecontext的相关文章

Hive部署及优化配置

1.1安装 1.Hive依赖hadoop环境,所有在装之前要先安装hadoop,hive一般安装在hadoop的NameNode节点上面: 2.下载 Hive最新Release版(0.7.1 ) http://www.apache.org/dyn/closer.cgi/hive/ 3.将压缩安装包解压至一目录,如/home/hadoop/hive 4.配制metadata存放方式 默认metadatga是存放在derby里,这种方式不允许多个用户同时登陆hive shell,所有建议用mysql

Spark SQL on HIVE

1. SPARK CONF中添加hive-site.xml hive.metastore.uris thrift://master:9083 2. 启动hive元数据 hive --metastore >meta.log 2>&1 & 3. scala>val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc) //hiveContext scala>hiveContext.sql("us

Hive项目实战:用Hive分析“余额宝”躺着赚大钱背后的逻辑

一.项目背景 前两年,支付宝推出的“余额宝”赚尽无数人的眼球,同时也吸引的大量的小额资金进入.“余额宝”把用户的散钱利息提高到了年化收益率4.0%左右,比起银行活期存储存款0.3%左右高出太多了,也正在撼动着银行躺着赚钱的地位. 在金融市场,如果想获得年化收益率4%-5%左右也并非难事,通过“逆回购”一样可以.一旦遇到货币紧张时(银行缺钱),更可达到50%一天隔夜回够利率.我们就可以美美地在家里数钱了!! 所谓逆回购:通俗来讲,就是你(A)把钱借给别人(B),到期时,B按照约定利息,还给你(A)

cdh权限测试示例

1. 准备测试数据 cat /tmp/events.csv 10.1.2.3,US,android,createNote 10.200.88.99,FR,windows,updateNote 10.1.2.3,US,android,updateNote 10.200.88.77,FR,ios,createNote 10.1.4.5,US,windows,updateTag 2. 创建用户2.1. 创建系统用户在集群所有节点创建系统用户并设置密码 useradd user1 passwd user

Spark入门实战系列--6.SparkSQL(下)--Spark实战应用

[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送–Spark入门实战系列>获取 1 运行环境说明 1.1 硬软件环境 主机操作系统:Windows 64位,双核4线程,主频2.2G,10G内存 虚拟软件:VMware? Workstation 9.0.0 build-812388 虚拟机操作系统:CentOS 64位,单核 虚拟机运行环境: JDK:1.7.0_55 64位 Hadoop:2.2.0(需要编译为64位) Scala:2.10.4 Spark:1.1.0(需要编译)

Spark SQL: Error in query: undefined function错误的解决方法

本文原文出处: http://blog.csdn.net/bluishglc/article/details/50748937 严禁任何形式的转载,否则将委托CSDN官方维护权益! 问题描述 如果你在Spark SQL上试图调用在HIVE注册的自定义函数(UDF)时,你可能会遇到这样的错误: Spark SQL: Error in query: undefined function xxxxxx 这个问题发生在Spark 1.5.0, 1.5.1和1.5.2版本上,对此Spark官方有一个专门的

Spark DataFrame ETL教程

前言 ETL是 Extract-Transform-Load的缩写,也就是抽取-转换-加载,在数据工作中是非常重要的部分.实际上,ETL就是一个对数据进行批处理的过程,一个ETL程序就是一个批处理脚本,执行时能将一堆数据转化成我们需要的形式. 每个接触过数据批处理的工程师,都走过ETL的流程,只是没有意识到而已.按照ETL过程的框架来重新认识数据批处理,有利于我们更清晰地编写批处理脚本. 在单机范围内的数据量下,使用python的pandas包就可以非常方便地完成数据批处理工作.但当数据量达到1

hive表数据导出到csv乱码原因及解决方案

转载自http://blog.csdn.net/lgdlxc/article/details/42126225 Hive表中的数据使用hive - e"select * from table">aa.csv导出到csv文件的时候在window中用Excel打开查看的时候是乱码,而且格式也不对. 原因有下面两个: 1.乱码的原因是用excel打开csv时格式默认为gbk,但是从hive中导出来的是utf8的 2.格式不对的原因是csv文件的列分隔符是逗号或者\t,而hive中默认使

Hive Serde - CSV、TSV

CSV hive-0.14.0内置支持CSV Serde,以前的版本需要引入第三方库的jar包(http://https://github.com/ogrodnek/csv-serde) 现在有个文本文件a.csv(从数据库中导出的数据通常都是这种格式),里面的内容如下: [[email protected] ~]$ more a.csv  '1','zhangsan','20','beijing,shanghai,shandong',1 '2','lisi','22','guangdong,h