在我的情况下,问题是我有一个集群运行在一个Databricks运行时低于6.1 https://docs.databricks.com/delta/delta-update.html Python API在Databricks Runtime 6.1及更高版本中可用。 将Databricks Runtime更改为6.4后,问题消失了。 要做到这一点:点击clusters -> Pick the one you are using -> Edit -> Pick Databricks Runtime 6.1 and above
6条答案
按热度按时间xlpyo6sf1#
由于正确答案隐藏在已接受解决方案的注解中,因此我想在这里添加它。
您需要使用一些额外的设置创建您的spark上下文,然后您可以导入delta:
字符串
恼人的是,你的IDE当然会对你大喊大叫,因为这个包没有安装,你也将在没有自动完成和类型提示的情况下操作。我相信有一个工作,我会更新,如果我来across它。
软件包本身在他们的github here上,自述文件建议你可以pip install,但这不起作用。从理论上讲,你可以克隆它并手动安装。
093gszye2#
由于Delta的Python代码存储在jar中并由Spark加载,因此在创建SparkSession/SparkContext之前无法导入
delta
模块。yb3bgrhw3#
要使用PySpark在本地运行Delta,您需要遵循官方文档。
这对我来说是有效的,但只在直接执行脚本(python)时<script_file>有效,而不是使用pytest或unittest。
要解决这个问题,需要添加这个环境变量:
字符串
使用符合您情况的Scala和Delta版本。有了这个环境变量,我可以通过cli运行pytest或unittest,没有任何问题
型
函数 configure_spark_with_delta_pip 在builder对象中附加一个配置选项
型
hlswsv354#
以下是如何使用conda安装Delta Lake和PySpark。
conda env create envs/mr-delta.yml
的命令创建环境conda activate mr-delta
激活conda环境字符串
a7qyws3x5#
如果您在使用
Jupyter notebook
时遇到问题,请添加以下环境变量字符串
nszi6y056#
在我的情况下,问题是我有一个集群运行在一个Databricks运行时低于6.1
https://docs.databricks.com/delta/delta-update.html
Python API在Databricks Runtime 6.1及更高版本中可用。
将Databricks Runtime更改为6.4后,问题消失了。
要做到这一点:点击clusters -> Pick the one you are using -> Edit -> Pick Databricks Runtime 6.1 and above