热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

parquet文件上传到hdfs_impala+hdfs+parquet格式文件

[创建目录]hdfsdfs-mkdir-puserhdfssample_dataparquet[赋予权限]sudo-uhdfshadoopfs-chown-Rimpala:supe

[创建目录]

hdfs dfs -mkdir -p /user/hdfs/sample_data/parquet

[赋予权限]

sudo -u hdfs hadoop fs -chown -R impala:supergroup /user/hdfs/sample_data

[删除目录]

hdfs dfs -rm -r /user/hdfs/sample_data/parquet

[上传文件]

hdfs dfs -put -f device /user/hdfs/sample_data/parquet

hdfs dfs -put -f metrics /user/hdfs/sample_data/parquet

[查看文件]

hdfs dfs -ls /user/hdfs/sample_data/parquet

[impala建表,不带分区](创建表之后,还需要通过下面的alter语句添加分区)

DROP TABLE IF EXISTS device_parquet;

CREATE EXTERNAL TABLE device_parquet

(

deviceId STRING,

deviceName STRING,

orgId STRING

)

STORED AS PARQUET

LOCATION '/user/hdfs/sample_data/parquet/device';

[impala建表,带分区]

DROP TABLE IF EXISTS metrics_parquet;

CREATE EXTERNAL TABLE metrics_parquet

(

deviceId STRING,

reading BIGINT,

time STRING

)

partitioned by (year string)

STORED AS PARQUET

LOCATION '/user/hdfs/sample_data/parquet/metrics';

[添加表分区]

alter table metrics_parquet add partition (year="2017");

alter table metrics_parquet add partition (year="2018");

[删除分区]

alter table metrics_parquet drop partition (year="2017");

alter table metrics_parquet drop partition (year="2018");

[查看表分区]

show partitions metrics_parquet;

[不指定分区查询数据]

select

T_3C75F1.`deviceId`,

year(T_3C75F1.`time`),

month(T_3C75F1.`time`),

sum(T_3C75F1.`reading`),

count(1)

from (select device_parquet.deviceId,reading,metrics_parquet.time as time from device_parquet,metrics_parquet where device_parquet.deviceId=metrics_parquet.deviceId) as `T_3C75F1`

group by

T_3C75F1.`deviceId`,

year(T_3C75F1.`time`),

month(T_3C75F1.`time`);

耗时:device表50条,metrics表1亿条(261M)执行上面的查询语句,耗时平均135秒

[指定分区查询数据]

select

T_3C75F1.`deviceId`,

year(T_3C75F1.`time`),

month(T_3C75F1.`time`),

sum(T_3C75F1.`reading`),

count(1)

from (select device_parquet.deviceId,reading,metrics_parquet.time as time from device_parquet,metrics_parquet where device_parquet.deviceId=metrics_parquet.deviceId and year='2017') as `T_3C75F1`

group by

T_3C75F1.`deviceId`,

year(T_3C75F1.`time`),

month(T_3C75F1.`time`);

耗时:device表50条,metrics表1亿条(261M)执行上面的查询语句,耗时平均96秒

[查询多个分区的数据]

select

T_3C75F1.`deviceId`,

year(T_3C75F1.`time`),

month(T_3C75F1.`time`),

sum(T_3C75F1.`reading`),

count(1)

from (select device_parquet.deviceId,reading,metrics_parquet.time as time from device_parquet,metrics_parquet where device_parquet.deviceId=metrics_parquet.deviceId and year in ('2017','2018')) as `T_3C75F1`

group by

T_3C75F1.`deviceId`,

year(T_3C75F1.`time`),

month(T_3C75F1.`time`);

[刷新数据](hdfs中数据发生变化时,需要执行以下命令更新impala)

refresh device_parquet;

refresh metrics_parquet;



推荐阅读
  • Hive的数据表创建数据文件inner_table.dat创建表hive>createtableinner_table(keystri ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • importorg.apache.hadoop.hdfs.DistributedFileSystem;导入方法依赖的package包类privatevoidtestHSyncOpe ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Flink使用java实现读取csv文件简单实例首先我们来看官方文档中给出的几种方法:首先我们来看官方文档中给出的几种方法:第一种:Da ... [详细]
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
  • MapReduce 切片机制源码分析
     总体来说大概有以下2个大的步骤1.连接集群(yarnrunner或者是localjobrunner)2.submitter.submitJobInternal()在该方法中会创建 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
author-avatar
爱的伤痕累2602882347_111
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有