我正在使用spark版本1.6。我想通过Spark上的sql查询执行OLAP函数,包括CUBE,ROLLUP,GROUPING SETS。我知道数据集api上可以使用多维数据集和汇总函数,但是如何通过SQL查询执行它们呢?
我需要使用HiveContext吗?我需要为此设置Hive吗?如何将数据帧保存为可以使用HiveContext执行的sql查询访问的表?
看一下示例代码会很棒。感谢。
答案 0 :(得分:1)
在ActiveViam,我们还需要在Apache Spark上进行交互式OLAP查询。因此,我们制作了一个名为Sparkube的扩展,它将Spark数据集公开为多维立方体,而不移动数据。
一旦您的数据集以这种方式公开,您就可以直接访问Spark上的所有OLAP MDX功能,包括DRILLDOWN,DRILLUP
例如,如何将CSV文件的内容挂载到内存中并将其作为多维立方体公开:
.data 0x100020000
dati1: .word 0xC000, 0xF000A000, 0x8000FFFF, 0x23150001, 0x0
.text
main:
sub1: move $t0, $zero
la $t1, dati1
ciclo1: lw $t2, 0($t1)
move $t3,$t2
bne $t2, $zero, dopo1a
ori $t4, $zero, 1
beq $zero, $zero, dopo1b
dopo1a: slt $t4, $zero, $t2
dopo1b: bne $t4, $zero, dopo1c
nor $t3, $t3, $t3
addi $t3, $t3, 1
dopo1c: sw $t3, 32($t1)
addi $t1, $t1, 4
addi $t0, $t0, 1
slti $t4, $t0, 5
bne $t4, $zero, ciclo1
jr $ra