使用pyspark的简单apache drill替代方案

microdrill的Python项目详细描述


简单的Apache Drill 替代使用PySpark 灵感来自PyDAL

设置

运行终端命令pip install microdrill

依赖关系

Spark 1.6

用法

定义查询拼花桌

ParquetTable(table_name, schema_index_file=file_name)

  • 表名称:表引用的名称。
  • 文件名:搜索表架构的文件名。

使用镶木地板dal

ParquetDAL(file_uri, sc)

表格连接

parquet_conn = ParquetDAL(file_uri, sc)
parquet_table = ParquetTable(table_name, schema_index_file=file_name)
parquet_conn.set_table(parquet_table)

查询

返回表对象

parquet_conn(table_name)

返回字段对象

parquet_conn(table_name)(field_name)

基本查询
parquet_conn.select(field_object, [field_object2, ...]).where(field_object=value)
parquet_conn.select(field_object1, field_object2).where(field_object1==value1 & ~field_object2==value2)
parquet_conn.select(field_object1, field_object2).where(field_object1!=value1 | field_object1.regexp(reg_exp))

分组依据

parquet_conn.groupby(field_object1, [field_object2, ...])

订购方式
parquet_conn.orderby(field_object1, [field_object2, ...])
parquet_conn.orderby(~field_object)

限制

parquet_conn.limit(number)

执行

df = parquet_conn.execute() execute()返回PySpark DataFrame.

从架构返回字段名

parquet_conn(table_name).schema()

开发人员

安装最新的jdk并运行在终端make setup

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring框架服务单元测试   在Java中遍历hashmaps的hashmap以检索字符串值   如何使用CodeQL检查Java注释是否具有特定属性?   java为什么在Spring Boot中访问此资源而不是登录弹出窗口需要始终获得完全身份验证   处理将多集计数转换为列表的过程   java另一个线性布局,没有出现按钮   eclipse Java映像加载未显示在jar中   java Junit类无法加载基本测试类ApplicationContext   java如何在main中使用my getvalues()方法打印列表   java Sonar,S128:切换案例应该以无条件的“中断”语句结束,而不是继续   java从socket读取字符串错误连接重置错误   java使用新数据刷新任意图表饼图   java通过异步运行lambda访问方法参数   java错误的结果一旦我处理try and catch