使用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无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联