假设这里出错的表为test表. 现象 Hive读取正常,不会报错,Spark读取就会出现: org.apache.hadoop.mapred.InvalidInputException: Input path does not exist: hdfs://testcluster/user/hive/warehouse/.... 在hive中执行desc formatted test;然后找到hdfs存储路径.然后hdfs dfs -ls <your table path>会发现,报错的路径确实…
use this val data = sc.textFile("/home/spark/data.txt") this should work and set master as local. Input path does not exist解决方法 spark-submit --master local 即可解决! 参考:https://stackoverflow.com/questions/41339127/how-to-load-local-file-using-sc-tex…
本文讲述使用IntelliJ IDEA时遇到Hadoop提示input path does not exist(输入路径不存在)的解决过程. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机. 这是自学Hadoop的第三天.以前做过点.NET开发,Mac.IntelliJ IDEA.Hadoop.CentOS对我而言,相当陌生.第一份Hadoop代码就遇到了问题.…
[Spark][Hive][Python][SQL]Spark 读取Hive表的小例子$ cat customers.txt 1 Ali us 2 Bsb ca 3 Carls mx $ hive hive> > CREATE TABLE IF NOT EXISTS customers( > cust_id string, > name string, > country string > ) > ROW FORMAT DELIMITED FIELDS TERMI…
机群搭建好,执行自带wordcount时出现: Input path does not exist: hdfs://ns1/user/root/a.txt 此错误. [root@slave1 hadoop]# ls a.txt  dfs1  include  libexec      name        sbin   test  tmp2 bin    etc   journal  LICENSE.txt  NOTICE.txt  share  tmp   zookeeper.out dat…
Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://192.168.25.128:9000/export/yang/log.1 at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.singleThreadedListStatus(Fil…
问题描述: org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist: hdfs://Master:9000/user/hadoop/input at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:323) at org.apac…
注意:将mysql的驱动包拷贝到spark/lib下,将hive-site.xml拷贝到项目resources下,远程调试不要使用主机名 import org.apache.spark._ import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.sql.hive.HiveContext import java.io.FileNotFoundException im…
package com.grady import org.apache.spark.SparkConf import org.apache.spark.sql.{DataFrame, Row, SparkSession} object HiveTableToTable { def main(args: Array[String]): Unit = { val conf: SparkConf = new SparkConf().setAppName("StuToStu2") val sp…
原我是这样写的 //输入数据所在的文件目录 FileInputFormat.addInputPath(job, new Path("/input/")); //mapreduce执行后输出数据目录 FileOutputFormat.setOutputPath(job, new Path("/output/")); 这个错误原因是路劲错误,应加上hdfs中core-site.xml中配置路径,我的hdfs配置路径为hdfs://test1:9000 改为 //输入数据…
注意看是file不存在并不是hdfs,好奇怪,突然明白应该是路径不对,必须加上hdfs://hostname:port/file. 我为什么饭这样的错误是因为前一阵谢了HDFS的曹组,谢了全局FileSystem,那么下面就不比要hdfs://hostname:port/了.…
spark 2.4.3 spark读取hive表,步骤: 1)hive-site.xml hive-site.xml放到$SPARK_HOME/conf下 2)enableHiveSupport SparkSession.builder.enableHiveSupport().getOrCreate() 3) 测试代码 val sparkConf = new SparkConf().setAppName(getName) val sc = new SparkContext(sparkConf)…
spark 读取hive中的数据 scala> import org.apache.spark.sql.hive.HiveContext import org.apache.spark.sql.hive.HiveContext scala> val hiveContext = new HiveContext(sc) //hive中的feigu数据库中表stud_info scala> val stud_infoRDD = hiveContext.sql("select * fr…
一 环境: spark-: hive-; scala-; hadoop--cdh-; jdk-1.8; mongodb-2.4.10; 二.数据情况: MongoDB数据格式{    "_id" : ObjectId("5ba0569cafc9ec432bd310a3"),    "id" : 7,    "name" : "7mongoDBi am using mongodb now",    "…
从spark1.2 到spark1.3,spark SQL中的SchemaRDD变为了DataFrame,DataFrame相对于SchemaRDD有了较大改变,同时提供了更多好用且方便的API.DataFrame将数据写入hive中时,默认的是hive默认数据库,insertInto没有指定数据库的参数,本文使用了下面方式将数据写入hive表或者hive表的分区中,仅供参考.1.将DataFrame数据写入到Hive表中从DataFrame类中可以看到与hive表有关的写入Api有以下几个:…
1.拷贝hive-site.xml到spark/conf下,拷贝mysql-connector-java-xxx-bin.jar到hive/lib下 2.开启hive元数据服务:hive  --service metastore 3.开启hadoop服务:sh  $HADOOP_HOME/sbin/start-all.sh 4.开启spark服务:sh $SPARK_HOME/sbin/start-all.sh 5.进入spark-shell:spark-shell 6.scala操作hive(…
object SaprkReadHbase { var total:Int = 0 def main(args: Array[String]) { val spark = SparkSession .builder() .master("local[2]") .appName("Spark Read Hbase ") .enableHiveSupport() //如果要读取hive的表,就必须使用这个 .getOrCreate() val sc= spark.spa…
Exception: Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BoneCP" plugin to create a ConnectionPool gave an error : The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH…
由于我Spark采用的是Cloudera公司的CDH,并且安装的时候是在线自动安装和部署的集群.最近在学习SparkSQL,看到SparkSQL on HIVE.下面主要是介绍一下如何通过SparkSQL在读取HIVE的数据. (说明:如果不是采用CDH在线自动安装和部署的话,可能需要对源码进行编译,使它能够兼容HIVE. 编译的方式也很简单,只需要在Spark_SRC_home(源码的home目录下)执行如下命令: ./make-distribution.sh --tgz -Phadoop-2…
原创文章,同步首发自作者个人博客转载请务必在文章开头处注明出处. 摘要 本文结合实例详细阐明了Spark数据倾斜的几种场景以及对应的解决方案,包括避免数据源倾斜,调整并行度,使用自定义Partitioner,使用Map侧Join代替Reduce侧Join,给倾斜Key加上随机前缀等. 为何要处理数据倾斜(Data Skew) 什么是数据倾斜 对Spark/Hadoop这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜. 何谓数据倾斜?数据倾斜指的是,并行处理的数据集中,某一部分(如Spar…
最近用spark在集群上验证一个算法的问题,数据量大概是一天P级的,使用hiveContext查询之后再调用算法进行读取效果很慢,大概需要二十多个小时,一个查询将近半个小时,代码大概如下: try: sql = """ select ltescrsrq, mr_ltencrsrq1, mr_ltencrsrq2, mr_ltencrsrq3, ltescrsrp, mr_ltencrsrp1, mr_ltencrsrp2, mr_ltencrsrp3, mr_ltesctad…
今天,上海尚学堂大数据培训班毕业的一位学生去参加易普软件公司面试,应聘的职位是大数据开发.面试官问了他10个问题,主要集中在Hbase.Spark.Hive和MapReduce上,基础概念.特点.应用场景等问得多.看来,还是非常注重基础的牢固.整个大数据开发技术,这几个技术知识点占了很大一部分.那本篇文章就着重介绍一下这几个技术知识点. 一.Hbase 1.1.Hbase是什么? HBase是一种构建在HDFS之上的分布式.面向列的存储系统.在需要实时读写.随机访问超大规模数据集时,可以使用HB…
知识点1:Spark访问HIVE上面的数据 配置注意点:. 1.拷贝mysql-connector-java-5.1.38-bin.jar等相关的jar包到你${spark_home}/lib中(spark2.0之后是${spark_home}/jars下),不清楚就全部拷贝过去 2.将Hive的配置文件hive-site.xml拷贝到${spark_home}/conf目录下 3.因为使用ThriftJDBC/ODBC Server访问spark SQL,所以要修改hive-site.xml文…
读取结构化数据 Spark可以从本地CSV,HDFS以及Hive读取结构化数据,直接解析为DataFrame,进行后续分析. 读取本地CSV 需要指定一些选项,比如留header,比如指定delimiter值,用,或者\t或者其他. import org.apache.spark.sql.{DataFrame, SparkSession}object ReadCSV { val spark: SparkSession = SparkSession .builder() .appName(Spar…
通过cloudera的旧版VM(centos6版本)跑spark,之后,想看一下日志研究一下job,stage以及task,压力很大的发现完全没有日志,180088页面打开后: Event log directory: hdfs://quickstart.cloudera:8020/user/spark/applicationHistoryNo completed applications found! 回过头来还是真心感到spark做得人性化,因为在页面提示中给了两个很重要的信息:一个是spa…
Spark 编程读取hive,hbase, 文本等外部数据生成dataframe后,一般我们都会map遍历get数据的每个字段,此时如果原始数据为null时,如果不进行判断直接转化为string,就会报空指针异常 java.lang.NullPointerException 示例代码如下: val data = spark.sql(sql) val rdd = data.rdd.map(record => { val recordSize = record.size for(i <- 0 to…
问题: Caused by: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 0 at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.hadoop.hive…
1 RDD编程实战案例一 数据样例 字段说明: 其中cid中1代表手机,2代表家具,3代表服装 1.1 计算订单分类成交金额 需求:在给定的订单数据,根据订单的分类ID进行聚合,然后管理订单分类名称,统计出某一天商品各个分类的成交金额,并保存至Mysql中 (1)法一,将json数据解析出来,直接使用 object IncomeKpi { private val logger: Logger = LoggerFactory.getLogger(IncomeKpi.getClass) def ma…
问题: spark集成hive,启动spark-shell或者spark-sql的时候,报错: INFO MetaStoreDirectSql: MySQL check failed, assuming we are not on mysql: Lexical error at line 1, column 5. Encountered: "@" (64), after : "". 环境: spark-1.4 hive-1.2.1 mysql-5.1 jdbc驱动…
Hive分区表 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念.分区表指的是在创建表时指定的partition的分区空间. Hive可以对数据按照某列或者某些列进行分区管理,所谓分区我们可以拿下面的例子进行解释. 当前互联网应用每天都要存储大量的日志文件,几G.几十G甚至更大都是有可能.存储日志,其中必然有个属性是日志产生的日期.在产生分区时,就可以按照日志产生的日期列进行划分.把每一…