org.apache.spark.sql.AnalysisException: cannot resolve '`id`' given input columns

原创 2018年04月14日 22:59:47

场景描述

  • Spark 获取MySQL数据并持久化入 json、parquet文件过程记录分析
  • 解析异常
    • 具体原因待分析
Exception in thread "main" org.apache.spark.sql.AnalysisException: cannot resolve '`id`' given input columns: [
id, name, age, sex];;
'Project ['id, name#1, age#2, sex#3]
+- Relation[
id#0,name#1,age#2,sex#3] JDBCRelation(user)

    at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
  • 实验数据
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `
id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT '',
  `age` int(11) DEFAULT NULL,
  `sex` varchar(255) COLLATE utf8_unicode_ci DEFAULT '',
  PRIMARY KEY (`
id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'kngines', '19', 'M');
INSERT INTO `user` VALUES ('2', 'li', '21', 'F');
INSERT INTO `user` VALUES ('3', 'wangw', '23', 'F');
INSERT INTO `user` VALUES ('4', 'mazi', '18', 'M');
INSERT INTO `user` VALUES ('6', 'xiaoli', '33', 'M');
  • select 字段持久化至 parquet 文件中
    • 抛异常,id 解析错误
jdbcDF.select("id","name","age","sex")
      .write
      .format("parquet")
      .save("./out/result/userp")
  • 正确代码
jdbcDF.
    .write
    .format("parquet")
    .save("./out/result/userp")

References

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24452475/article/details/79945297

Spark SQL 列名带点的处理方法

Spark SQL 列名带点的处理方法 版权声明:本文为博主原创文章,未经博主允许不得转载。 手动码字不易,请大家尊重劳动成果,谢谢 作者:http://blog.csdn...
  • wang_wbq
  • wang_wbq
  • 2018-03-24 10:36:46
  • 95

大数据Spark “蘑菇云”行动第72课: 基于Spark 2.0.1项目实现之二. 实战 各种小bug修复及性能调优 200并行度调整为2个task

大数据Spark “蘑菇云”行动第72课: 基于Spark 2.0.1项目实现之二.   规律:agg前一般都进行grouBy操作           {"userID":"userID5234",...
  • duan_zhihua
  • duan_zhihua
  • 2016-11-03 21:30:56
  • 966

SparkSQL中DataFrame Operations操作(select、filter、groupBy、count)

代码+图文讲解SparkSQL DataFrame操作,select、filter、groupBy、count操作
  • RiverCode
  • RiverCode
  • 2017-03-07 14:38:06
  • 6082

Spark之UDAF

转自:http://www.raincent.com/content-85-4986-1.html 在数据分析领域中,没有人能预见所有的数据运算,以至于将它们都内置好,一切准备完好,用户只...
  • weixin_36630761
  • weixin_36630761
  • 2017-08-11 16:34:52
  • 67

Sparksql 一个错误:org.apache.spark.sql.AnalysisException: character ' ' not supported here;

遇到如下错误,但是在hive中单独运行,或者是在spark-shell中单独运行的也是毫无问题的,为何偏偏在sparksql中出问题,而且不存在所说的那个 character ’ ’ 。 还有就是我...
  • mtj66
  • mtj66
  • 2016-09-21 16:48:59
  • 7817

Spark强大的函数扩展功能

在数据分析领域中,没有人能预见所有的数据运算,以至于将它们都内置好,一切准备完好,用户只需要考虑用,万事大吉。扩展性是一个平台的生存之本,一个封闭的平台如何能够拥抱变化?在对数据进行分析时,无论是算法...
  • mergerly
  • mergerly
  • 2017-09-08 16:30:26
  • 204

Spark SQL入门用法与原理分析

sparkSQL是为了让开发人员摆脱自己编写RDD等原生Spark代码而产生的,开发人员只需要写一句SQL语句或者调用API,就能生成(翻译成)对应的SparkJob代码并去执行,开发变得更简洁, 1...
  • silviakafka
  • silviakafka
  • 2017-01-05 11:48:14
  • 9228

spark sql 中 hive变量的使用记录

一、 使用变量的方式:  和 hive 中使用方式一样,如 ${varName} 案例如下: scala> spark.sql("set unit_len=8") res3: org.apache.s...
  • harli
  • harli
  • 2016-08-19 14:18:34
  • 2678

pyspark lit 常量

import org.apache.spark.sql.functions._ val longLength = udf((bookTitle: String, length: Int) => bo...
  • zhuiqiuuuu
  • zhuiqiuuuu
  • 2017-05-31 18:10:08
  • 710
收藏助手
不良信息举报
您举报文章:org.apache.spark.sql.AnalysisException: cannot resolve '`id`' given input columns
举报原因:
原因补充:

(最多只允许输入30个字)