重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
哦,那看起来是因为group by 的原因了,难道这个sql的结果集很大么?
为宝安等地区用户提供了全套网页设计制作服务,及宝安网站建设行业解决方案。主营业务为成都做网站、网站制作、成都外贸网站建设、宝安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
select count(*) c
from table
where column1= ......
and column2 = .......
and column3 in(.., .. , ..,)
and substr(trade_time,1,16) between '2009-01-01 01:01' and '2009-02-06 01:01 ;
你的oracle版本多少?如果是oracle9,在sqlplus中先执行这两个命令,然后执行你的sql看看
alter session set workarea_size_policy=manual;
--排序区设置为10M
alter session set sort_area_size=10240000;
如果能加快,证明确实是排序区的问题了。
----------------------------
好吧,我谈谈我的看法
1,你问题中的sql语句所反映的业务逻辑好像就不合理,很明显 trade_time 这个列的精度是到秒的,按这个列进行分组然后求各组合计....我不清楚这代表什么情形的业务,需求是不是不合理?
2. 如果你数据量增长那么快,靠这个函数索引会很吃力,建议你考虑一下分区表吧。
总结一句话就是 写 SQL (很多入职一两年的大数据工程师主要的工作就是写 SQL )
还有其他的
2 为集群搭大数据环境(一般公司招大数据工程师环境都已经搭好了,公司内部会有现成的大数据平台,但我这边会私下搞一套测试环境,毕竟公司内部的大数据系统权限限制很多,严重影响开发效率)
3 维护大数据平台(这个应该是每个大数据工程师都做过的工作,或多或少会承担“运维”的工作)
4 数据迁移(有部分公司需要把数据从传统的数据库 Oracle、MySQL 等数据迁移到大数据集群中,这个是比较繁琐的工作,吃力不讨好)
5 应用迁移(有部分公司需要把应用从传统的数据库 Oracle、MySQL 等数据库的存储过程程序或者SQL脚本迁移到大数据平台上,这个过程也是非常繁琐的工作,无聊,高度重复且麻烦,吃力不讨好)
6 数据采集(采集日志数据、文件数据、接口数据,这个涉及到各种格式的转换,一般用得比较多的是 Flume 和 Logstash)
7 数据处理
7.1 离线数据处理(这个一般就是写写 SQL 然后扔到 Hive 中跑,其实和第一点有点重复了)
7.2 实时数据处理(这个涉及到消息队列,Kafka,Spark,Flink 这些,组件,一般就是 Flume 采集到数据发给 Kafka 然后 Spark 消费 Kafka 的数据进行处理)
8 数据可视化(这个我司是用 Spring Boot 连接后台数据与前端,前端用自己魔改的 echarts)
9 大数据平台开发(偏Java方向的,大概就是把开源的组件整合起来整成一个可用的大数据平台这样,常见的是各种难用的 PaaS 平台)
10 数据中台开发(中台需要支持接入各种数据源,把各种数据源清洗转换为可用的数据,然后再基于原始数据搭建起宽表层,一般为了节省开发成本和服务器资源,都是基于宽表层查询出业务数据)
11 搭建数据仓库(这里的数据仓库的搭建不是指 Hive ,Hive 是搭建数仓的工具,数仓搭建一般会分为三层 ODS、DW、DM 层,其中DW是最重要的,它又可以分为DWD,DWM,DWS,这个层级只是逻辑上的概念,类似于把表名按照层级区分开来的操作,分层的目的是防止开发数据应用的时候直接访问底层数据,可以减少资源,注意,减少资源开销是减少 内存 和 CPU 的开销,分层后磁盘占用会大大增加,磁盘不值钱所以没什么关系,分层可以使数据表的逻辑更加清晰,方便进一步的开发操作,如果分层没有做好会导致逻辑混乱,新来的员工难以接手业务,提高公司的运营成本,还有这个建数仓也分为建离线和实时的)
总之就是离不开写 SQL ...
主要对大数据进行搜集和分析,对现在的发展形势有一个预判,像东莞金码这样的学校还会专门开设相关课程呢。
使用sqoop工具。
1、在行键选择那里,通过用“”,将需要做行键的多个列写在一起就可以了。
2、例如要将a和b列同时做行键,那么--hbase-row-key "a,b"就可以了。
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
你这个不好写。
一般写这个使用case when 或是 pivot,但得需要有分组或区别的字段值。但你的这个数据,没法处理。如果会员号+ID能标识一个联系方式,就可以处理了。