代码之家  ›  专栏  ›  技术社区  ›  user9010901

Spark SQL-Select生成AttributeError:“module”对象没有属性“api”

  •  3
  • user9010901  · 技术社区  · 8 年前

    很好的一天,

    我正在使用的基本安装 Azure HDinsight cluster ,配置用于 spark 我加入了 Jupyter Notebook , PySpark .

    在提供的00中工作-[请先阅读] PySpark Kernel Features.ipynb file ,我在执行 spark sql 'SELECT' :

    AttributeError:“module”对象没有属性“api”

    执行代码:


    %%sql -o query1
    
    SELECT clientid, querytime, deviceplatform, querydwelltime
    
    FROM hivesampletable
    
    WHERE state = 'Washington' AND devicemake = 'Microsoft' 
    

    我在使用时也出现了同样的错误 SELECT 在其他代码中。由于这里提到的代码出现在提供的基线“教程”中,我认为这不是编码错误。我以前也犯过同样的错误 PySpark公司 PySpark 3 kernel .

    有人有什么经验/建议/建议可以分享吗?

    跟踪:


    /usr/bin/anaconda/lib/python2.7/site-packages/IPython/core/formatters。pyc公司 在里面 呼叫 (自身,obj)

     902                 pass
    
     903             else:
    
     --> 904                 printer(obj)
    
     905                 return True
    
     906             # Finally look for special method names
    

    /usr/bin/anaconda/lib/python2.7/site-packages/autovizwidget/widget/utils。pyc公司 在里面 display_dataframe(df)

    114 
    
    115 def display_dataframe(df):
    
     --> 116     selected_x = select_x(df)
    
    117     selected_y = select_y(df, selected_x)
    
    118     encoding = Encoding(chart_type=Encoding.chart_type_table, x=selected_x, y=selected_y,
    

    /usr/bin/anaconda/lib/python2.7/site-packages/autovizwidget/widget/utils。pyc公司 在里面 select_x(data, order)

     70         _validate_custom_order(order)
    
     71 
    
     ---> 72     d = _classify_data_by_type(data, order)
    
     73 
    
     74     chosen_x = None
    

    /usr/bin/anaconda/lib/python2.7/site-packages/autovizwidget/widget/utils。pyc公司 在里面 _classify_data_by_type(data, order, skip)

     48     for column_name in data:
    
     49         if column_name not in skip:
    
     ---> 50             typ = infer_vegalite_type(data[column_name])
    
     51             d[typ].append(column_name)
    
     52 
    

    /usr/bin/anaconda/lib/python2.7/site-packages/autovizwidget/widget/utils。pyc公司 在里面 infer_vegalite_type(data)

     14     """
    
     15 
    
     ---> 16     typ = pd.api.types.infer_dtype(data)
    
     17 
    
     18     if typ in ['floating', 'mixed-integer-float', 'integer',
    

    3 回复  |  直到 8 年前
        1
  •  2
  •   Mysteez    8 年前

    笔记本使用的是pandas的0.17.1版本,但autovizwidget依赖于具有“api”模块的pandas的更高版本。我被告知,这将在HDInsight configs的后续版本中解决。

    ssh连接到集群并运行以下操作:

    sudo -HE /usr/bin/anaconda/bin/conda install pandas

        2
  •  0
  •   Peter    8 年前

    有同样的问题。我使用了:

    pip安装pandas--升级--用户

    通过jupyter笔记本中的终端。

        3
  •  -1
  •   sacha barber    8 年前

    我在这些说明中遇到了同样的问题: https://docs.microsoft.com/en-us/azure/hdinsight/spark/apache-spark-load-data-run-query 而刚换用的 Pypark3 一切都很好