集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本、Excel、JSON、HTTP、Hadoop、mongodb等。

对于Hadoop,集算报表既可以直接访问Hive,也可以读取HDFS中的数据,完成数据计算和报表开发。Hive的访问和普通数据库一样使用JDBC就可以,这里不再赘述了。下面通过一个例子来看直接访问HDFS的过程。

报表说明

股票交易记录按月以文本形式存储在HDFS中,文件名为stock_record_yyyyMM.txt(如stock_record_200901.txt),内容包括股票代码、交易日期和收盘价。根据指定月份查询并计算各只股票的收盘均价,以便进行股价趋势分析。文本内容如下:

code                   tradingDate     price

120089     2009-01-0100:00:00        50.24

120123     2009-01-0100:00:00        10.35

120136     2009-01-0100:00:00        43.37

120141     2009-01-0100:00:00        41.86

120170     2009-01-0100:00:00        194.63

区别于一般报表工具,集算报表可以直接访问HDFS完成数据的读取计算,以下为实现过程。

拷贝相关jar包

使用集算报表访问HDFS时需要加载Hadoop核心包及配置包,如:commons-configuration-1.6.jar、commons-lang-2.4.jar、hadoop-core-1.0.4.jar(Hadoop1.0.4)。将以上jar拷贝到[集算报表安装目录]\report\lib和[集算器安装目录]\esproc(如果需要使用集算器编辑器编辑和调试脚本的话)下。

编写计算脚本

使用集算编辑器编写脚本(stockFromHdfsTxt.dfx),完成HDFS的文件读入和数据过滤,为报表返回结果集。由于要接收报表传递的参数,首先设置脚本脚本参数。

编辑脚本。

A1:使用hdfsfile函数根据文件路径和指定参数创建HDFS文件游标;

A2:针对股票代码汇总收盘价和数量;

A3:计算每只股票的平均收盘价,通过A4为报表返回结果集。

编辑报表模板

使用集算报表设计器新建报表模板,并设置参数:

设置数据集,使用“集算器”数据集类型,调用编辑好的脚本文件(stockFromHdfsTxt.dfx)。

其中,dfx文件路径既可以是绝对路径,也可以是相对路径,相对路径是相对选项中配置的dfx主目录的。

编辑报表表达式,直接使用集算脚本返回的结果集,完成报表制作。

值得注意的是,在报表设计器中预览时,需要将Hadoop相关jar包拷贝到[集算报表安装目录]\report\lib下。

除了可以直接访问HDFS的文本文件外,集算报表也可以读取HDFS中的压缩文件。这时仍然使用hdfsfile函数,由扩展名决定解压方式。比如,要访问Gzip文件可以这样写:

=hdfsfile("hdfs://192.168.1.210:9000/usr/local/hadoop/data/stock_record_"+d_date+".gz","GBK"),只需在将扩展名包含在url中即可。

通过上面的实现可以看到,使用集算器脚本可以很方便地完成HDFS文件的读取计算,而且外置的集算脚本具有可视化的编辑调试环境,编辑好的脚本还可以复用(被其他报表或程序调用)。不过,如果脚本已经调试好,而且不需要复用的时候,要维护两个文件(集算脚本和报表模板)的一致性会比较麻烦,这时候直接使用集算报表的脚本数据集就比较简单了。

在脚本数据集中可以分步编写脚本完成计算任务,语法与集算器一致,还可以直接使用报表定义好的数据源(本例并未涉及)和参数。使用脚本数据集可以这样完成:

1.  在数据集设置窗口中点击“增加”按钮,弹出数据集类型对话框,选择“脚本数据集”;

2.      在弹出的脚本数据集编辑窗口中编写脚本;

直接使用报表定义的参数arg1。

3.报表参数设置和报表表达式,与使用集算器数据集一致,不再赘述。

报表部署时,同样需要将Hadoop的相关jar放到应用classpath下,如应用的web-inf\lib下。

集算报表下载:http://www.raqsoft.com.cn/?p=208 。

报表数据源之Hadoop相关推荐

  1. java实现报表_用存储过程和 JAVA 写报表数据源有什么弊端?

    用存储过程和 JAVA 写报表数据源有什么弊端?跟着小编一起来一看一下吧! 我们在报表开发中经常会使用存储过程准备数据,存储过程支持分步计算,可以实现非常复杂的计算逻辑,为报表开发带来便利.所以,报表 ...

  2. java使用xml存储数据_用存储过程和 JAVA 写报表数据源有什么弊端?

    用存储过程和 JAVA 写报表数据源有什么弊端?跟着小编一起来一看一下吧! 我们在报表开发中经常会使用存储过程准备数据,存储过程支持分步计算,可以实现非常复杂的计算逻辑,为报表开发带来便利.所以,报表 ...

  3. java元数据是什么_用存储过程和 JAVA 写报表数据源有什么弊端?

    用存储过程和 JAVA 写报表数据源有什么弊端?跟着小编一起来一看一下吧! 我们在报表开发中经常会使用存储过程准备数据,存储过程支持分步计算,可以实现非常复杂的计算逻辑,为报表开发带来便利.所以,报表 ...

  4. 业务逻辑写在存储过程好还是后端好_用存储过程和 JAVA 写报表数据源有什么差异...

    我们在报表开发中经常会使用存储过程准备数据,存储过程支持分步计算,可以实现非常复杂的计算逻辑,为报表开发带来便利.所以,报表开发中这样的存储过程并不少见: 3008 行,141KB 的存储过程,会给报 ...

  5. 集算报表用Java动态修改报表数据源

    实际应用中通过程序动态修改报表模板的情况很常见,其中动态修改数据源SQL就是一种典型场景.常见于系统中有一些结构相同而数据源不同的报表,为减少报表开发工作量,只开发一套报表模板,使用时通过程序动态修改 ...

  6. 润乾集算报表用Java动态修改报表数据源

    实际应用中通过程序动态修改报表模板的情况很常见,其中动态修改数据源SQL就是一种典型场景.常见于系统中有一些结构相同而数据源不同的报表,为减少报表开发工作量,只开发一套报表模板,使用时通过程序动态修改 ...

  7. 博计报表数据源找不到的一个原因

    博计报表在设计器中编辑的时候,如果数据集不指定数据源名称,那么设计器会默认用当前数据库来设计报表. 但是,如果报表部署的应用服务器中存在多个数据源的话,所有的报表都会默认的去连接第一个数据源.那么用第 ...

  8. 锐浪报表数据源access_kylin+SuperSet实现实时大数据报表的快速开发

    最近我的团队将报表计算引擎从阿里的OLAP分析中间价迁移到了kylin上,解决了非常多的问题,将一些我们的解决方案分享出来,希望对读者或者在用kylin的人有所帮助. 一. 之前现状和问题 之前我们系 ...

  9. 报表数据源之JSON

    JSON作为一种轻量级数据格式应用非常广泛,报表读取json数据源进行报表开发的需求也很常见,另外有些报表还会接收来自HTTP服务器的数据进行报表展现.这里通过例子分别来看一下集算报表使用json数据 ...

最新文章

  1. SpringMVC - 非注解的处理器映射器和适配器
  2. if 判断成绩 ,整百制
  3. SAP Spartacus 2.1.0 加载homepage的逻辑
  4. linux服务器上如何显示工作路径
  5. [转载] python __slots__ 详解(上篇)
  6. java开放地址法和链地址法解决hash冲突
  7. jquery代码小片段
  8. 程序返回值的数据结构
  9. asp.net数据库操作类(不含存储过程)
  10. pcie inbound、outbound及EP、RC间的互相訪问
  11. java拉起服务,从Java调用Restful服务
  12. JavaScript 遗漏知识再整理;错误处理,类型转换以及获取当前时间、年份、月份、日期;...
  13. pycharm 修改新建文件时的头部模板(默认为__author__='...')
  14. sql中DistinctCount的用法
  15. 【蓝桥杯真题】蓝桥杯真题之旋转
  16. MeteoInfoLab脚本示例:数据投影-FLEXPART
  17. Transformations in signals and systems DSP
  18. 无人机pid调节顺口溜
  19. python根据生日自动批量产生中奖双色球
  20. ADS1256驱动程序

热门文章

  1. 华为研究院19级研究员几年心得终成趣谈网络协议文档
  2. Scala的基础语法(超详细版)
  3. 【数学建模和matlab】反思与总结(1)
  4. 一个支持倍速播放的视频播放器
  5. 几个简单的论文下载方法
  6. stm32 RO RW ZI
  7. noip模拟赛 街灯
  8. 开发WP版本的大菠萝英雄榜
  9. Linux kali系统使用fcrackzip/rarcrack破解zip/rar(或者zip 7z)类型的加密压缩文件
  10. 金蝶KIS旗舰版V5.0.0研究学习