Nath
New Contributor II

Hello,

I changed my databricks-connect version 10.4.12, mlflow version is 1.26 but it doesn't work.

I have winutils.exe in my venv under Lib\site-packages\pyspark\bin.

and my environment variable HADOOP_HOME is ok.

Version python 3.8.10.

Thanks for your help.

See the stacktraceerror :

2022/10/14 17:18:09 INFO mlflow.spark: File 'dbfs:/databricks/mlflow-tracking/67260056032267/6580b479a0ba43beaa3dd7971561fbb7/artifacts/model_rf/sparkml' not found on DFS. Will attempt to upload the file.

Traceback (most recent call last):

 File "C:\Users\NSR\py-packages\test\test_mlflow.py", line 21, in <module>

   model = exp.get_model(nom="model_rf")

 File "C:\Users\NSR\py-packages\ircem\mlflow.py", line 178, in get_model

   return mlflow.spark.load_model(model_path)

 File "D:\venv_python\Python38\lib\site-packages\mlflow\spark.py", line 711, in load_model

   return _load_model(model_uri=model_uri, dfs_tmpdir_base=dfs_tmpdir)

 File "D:\venv_python\Python38\lib\site-packages\mlflow\spark.py", line 659, in _load_model

   model_uri = _HadoopFileSystem.maybe_copy_from_uri(model_uri, dfs_tmpdir)

 File "D:\venv_python\Python38\lib\site-packages\mlflow\spark.py", line 382, in maybe_copy_from_uri

   return cls.maybe_copy_from_local_file(_download_artifact_from_uri(src_uri), dst_path)

 File "D:\venv_python\Python38\lib\site-packages\mlflow\spark.py", line 349, in maybe_copy_from_local_file

   cls.copy_from_local_file(src, dst, remove_src=False)

 File "D:\venv_python\Python38\lib\site-packages\mlflow\spark.py", line 331, in copy_from_local_file

   cls._fs().copyFromLocalFile(remove_src, cls._local_path(src), cls._remote_path(dst))

 File "D:\venv_python\Python38\lib\site-packages\py4j\java_gateway.py", line 1304, in __call__

   return_value = get_return_value(

 File "D:\venv_python\Python38\lib\site-packages\pyspark\sql\utils.py", line 117, in deco

   return f(*a, **kw)

 File "D:\venv_python\Python38\lib\site-packages\py4j\protocol.py", line 326, in get_return_value

   raise Py4JJavaError(

py4j.protocol.Py4JJavaError: An error occurred while calling o334.copyFromLocalFile.

: java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z

   at org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Native Method)

   at org.apache.hadoop.io.nativeio.NativeIO$Windows.access(NativeIO.java:793)

   at org.apache.hadoop.fs.FileUtil.canRead(FileUtil.java:1215)

   at org.apache.hadoop.fs.FileUtil.list(FileUtil.java:1420)

   at org.apache.hadoop.fs.RawLocalFileSystem.listStatus(RawLocalFileSystem.java:601)

   at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1972)

   at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:2014)

   at org.apache.hadoop.fs.ChecksumFileSystem.listStatus(ChecksumFileSystem.java:761)

   at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:406)

   at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:390)

   at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2482)

   at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2448)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

   at java.lang.reflect.Method.invoke(Unknown Source)

   at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)

   at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:380)

   at py4j.Gateway.invoke(Gateway.java:295)

   at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)

   at py4j.commands.CallCommand.execute(CallCommand.java:79)

   at py4j.ClientServerConnection.waitForCommands(ClientServerConnection.java:195)

   at py4j.ClientServerConnection.run(ClientServerConnection.java:115)

   at java.lang.Thread.run(Unknown Source)