hive sql报错

1.hive sql 报错

FAILED: ParseException line 22:0 cannot recognize input near '<EOF>' '<EOF>' '<EOF>' in subquery source

2.解决

select * 
from
(
    select 
    	... 
    from 
		table_1
    where 
    	...
) table_outer
嵌套的内层的表一定要有别名,也就是示例代码中的表名table_outer
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
⼤数据java操作hive ⼤数据 ⼤数据 java操作 操作hive 版权声明: 本⽂为博主学习整理原创⽂章,如有不正之处请多多指教。 未经博主允许不得转载。 虚拟机上操作,保证 虚拟机上操作,保证hive数据库能正常连接进⼊。 数据库能正常连接进⼊。 如因退出没有⽤到命令(quit;),第⼆次进⼊则会报错。解决⽅法,切换到 [root@xcl ~]# cd apache-hive-2.1.1-bin/conf/ [root@xcl conf]# vi hive-site.xml 最后进⾏初始化命令为:schematool -initSchema -dbType mysql 在任意⽬录下输⼊hive,则ok。 创建数据库、在数据库中创建数据表,在本地 创建数据库、在数据库中创建数据表,在本地"造数据 造数据" Create databases text; 例: CREATE TABLE t4(name String ,age int,likes ARRAY<String>,relation MAP<String,String>,location struct<country:String,city:String ,doornum:int>) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' COLLECTION ITEMS TERMINATED BY '^' MAP KEYS TERMINATED BY ':'; "造的数据"已经分好类 # 字段分割符是逗号 # 数组类型分隔符是^号 # map数据类型分割符是冒号 tom,18,lol^篮球^⾳乐,father:tom1^mother:lili,US^LOS^16 ⽤load上传本地数据到表中 load data local inpath '/usr/local/apps/test1.txt' into table t4; eclipse操作步骤(要配好 操作步骤(要配好maven创建 创建maven项⽬) 项⽬) maven项⽬需要的包,在 项⽬需要的包,在"pom.xml"中添加 中添加 <dependency> <groupId>org.apache.hive </groupId> <artifactId>hive-jdbc </artifactId> <version>2.1.1</version> </dependency> java连接 连接hive代码: 代码: //加载驱动 Class.forName("org.apache.hive.jdbc.HiveDriver"); //获取连接 String url="jdbc:hive2://192.168.1.90:10000/test"; Connection connection= DriverManager.getConnection(url,"root",""); //执⾏sql PreparedStatement ps=connection.prepareStatement("SELECT * FROM table01 "); //获取结果 ResultSet rs=ps.executeQuery(); while (rs.next()){ System.out.println("测试数据输出结果是:"+rs.getString(1)); } //关闭连接 rs.close(); ps.close(); connection.close(); 在代码中添加 注意:引的包全是sql包 引完后会报异常,抛出异常即可 如出现这个问题 解决⽅法: <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.7</version> <scope>system</scope> <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath> </dependency>
⼤数据应⽤测试经验总结 ⼤数据应⽤测试经验总结 ⼤数据应⽤测试过程与传统的web系统有较⼤的不同,⼤数据应⽤测试通常会分为web侧和ETL侧测试,web侧基本就是功能测试,⽽ETL(Extracting-Transfroming- Loading)测试主要指从任何外部系统提取、转换、载⼊数据到⽬标地。从底层数据采集、数据处理、到上层应⽤展现。 ⼀、从技术架构设计上,分为以下⼏块: 1. 数据采集:采集使⽤java和python程序从⽂件服务器下载⽂件,并把⽂件写⼊kafka、Hbase和Hive、Mysql中; 2. 计算引擎:使⽤Hive on Tez计算引擎实现ETL跑批任务;使⽤spark streaming实现实时计算;使⽤Phoenix做前台交互式查询。 3. 数据存储:使⽤Kafka、Hive、Hbase、MySQL满⾜各层次存储技术需求。 4. 任务调度:使⽤Quartz实现作业调度及管理。 5. 监控接⼝:使⽤Kafka、⽂件接⼝对接统⼀监控平台。 6. 数据可视化:使⽤JQuery、Echarts、Easy UI等技术实现图表、表格展⽰;使⽤Apache POI实现excel、CSV的导⼊导出;使⽤Log4J记录⽇志;使⽤Spring框架实现 页⾯、服务、数据的集成管理;使⽤DBCP实现数据库连接池。 7. 数据模型层次说明 ODS:贴源层,存储原始数据,数据采集直接写⼊; DWD:数据仓库明细层,存储从源数据抽去过来的明细数据; DW:数据仓库层,保存经过数据降维汇聚的计算后⽣成的汇总数据; DM:数据集市层,满⾜特定功能⽽建⽴的各种数据集市。 1. 数据处理过程说明 1. 数据采集模块从采集机采集相关业务数据; 2. 数据采集模块定期把原始数据导⼊Hive库中的ODS层相关表中;实时数据及时写⼊kafka提供给spark streaming处理;公参数据写⼊mysql中。 3. ETL模块从ODS层相关表中抽取数据到DWD层; 4. ETL模块根据轻度汇总要求进⾏数据轻度汇总操作,并把汇总后的数据放到DW层中; 5. ⼀些功能所需数据⽆法从轻度汇总表计算出来,需要从DWD中原始表进⾏汇总; 6. ETL模块从DW层获取轻度汇总数据,根据各业务功能要求进⼀步汇总数据,形成DM层数据; 7. 即席查询数据从Hive关联到Hbase中; 8. Phoenix关联到HBase中,供页⾯查询使⽤; 9. 部分ETL模块数据把Hive中汇总后数据导⼊MySQL中,供模型建模使⽤; ⼆、Hadoop运⾏: mapreduce机制: 常⽤命令: 功能 功能 命令 命令 查看⽬录 hadoop fs -ls dir 上传⽂件 hadoop fs -put ${local file} ${hdfs file} 创建⽬录 hadoop fs -mkdir ${dirname} 获取⽂件 hadoop fs -get ${hdfs file} ${local file} 删除多个⽂件或⽬录 hadoop fs -rm ${hdfs file} ... hadoop fs -rm -r ${hdfs file}... 复制⽂件 hadoop fs -cp ${hdfs file} ${hdfs file} 移动⽂件 hadoop fs -mv ${hdfs file} ${hdfs file} 三、hive和hbase⽐较: Hive(⾮数据库) Hbase(数据库) 适⽤场景 ⽤于对⼀段时间内的数据进⾏分析查询,离线批处理 ⼤数据的实时查询 特点 1、⼀种类SQL的引擎,运⾏MapReduce任务; 2、查询⼀般是全量查询,时间较长,可通过分区来优化; 3、基于⾏查询,定义时每⾏有固定列数据,每列数据固定⼤⼩; 4、操作:不⽀持更新操作 1、⼀种在Hadoop之上的NoSQL型Key/Value数据库; 2、查询是通过特定语⾔编写,可通过Phonenix实现类SQL功能; 3、基于列查询,可定义各种不同的列,每列数据⼤⼩不固定; 四、hive常⽤操作 hive 基础操作 基础操作 说明 说明 查看数据 库 show databases 使⽤数据 库 use DbName 删除数据 库 drop database if exists DbName CASCADE 如果数据库不为空,删除会报错,加上cascade可忽略 查看表 show tables in DbName ; show tables like 'h*' 创建表 内部表:CREATE TABLE page_view if not exists(viewTime INT, userid BIGINT, page_url STRING, referrer_url STRIN

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值