B
    T\n                 @   s   d Z ddlmZmZmZ ddlmZmZmZ ddl	m
Z
mZ ddlmZ ddlmZ ddlmZ ydd	lZW n ek
r   d
ZY nX dd Zd	S )z Dataframe optimizations     )absolute_importdivisionprint_function   )cullfuse_getitemfuse)configcore)HighLevelGraph)ensure_dict)optimize_blockwiseNFc             K   s   t | tr t| tt|d} t| } ddlm} t |trXt	| tt|\} }nt	| |g\} }t
| |d} trddlm} t
| |d} t| ||tddd	\} }t	| |\} }| S )
N)keys   )dataframe_from_ctable   )_read_parquet_row_group   fuse_subgraphsT)dependenciesr   )
isinstancer   r   listr
   Zflattenr   ior   r   r   fastparquetZ
io.parquetr   r   r	   get)Zdskr   kwargsr   r   r   _ r   6lib/python3.7/site-packages/dask/dataframe/optimize.pyoptimize   s    

r   )__doc__Z
__future__r   r   r   optimizationr   r   r    r	   r
   Zhighlevelgraphr   Zutilsr   Z	blockwiser   r   ImportErrorr   r   r   r   r   <module>   s   
