Trying to use for Android but keep getting No DefaultAllocationManager found on classpath
- 主要語言
- Java
- 星號
- 94
- 分支
- 152
- 平均合併
- 3 天 16 小時
- 30 天內合併 PR
- 11
描述
### Describe the bug, including details regarding any error messages, version, and platform.
I have all the dependencies in place, code compiles just fine but when I run it and attempt to parse from an arrow stream like this (or using any of the parsers like from a file)
val df = DataFrame.readArrowFeather(channel.toInputStream(null))
I always get
Caused by: java.lang.RuntimeException: No DefaultAllocationManager found on classpath. Can't allocate Arrow buffers. Please consider adding arrow-memory-netty or arrow-memory-unsafe as a dependency.
Same for
val rootAllocator = RootAllocator()
val fileInputStream = FileInputStream(File(filepath))
val arrowReader = ArrowStreamReader(fileInputStream, rootAllocator)
Asking Gradle for my arrow dependencies I see
| +--- org.jetbrains.kotlinx:dataframe-arrow:1.0.0-dev-7570
| | +--- org.apache.arrow:arrow-vector:18.1.0
| | | +--- org.apache.arrow:arrow-format:18.1.0
| | | +--- org.apache.arrow:arrow-memory-core:18.1.0
| | +--- org.apache.arrow:arrow-format:18.1.0 (*)
| | +--- org.apache.arrow:arrow-memory-unsafe:18.1.0
| | | \--- org.apache.arrow:arrow-memory-core:18.1.0 (*)
+--- org.jetbrains.kotlinx:dataframe-arrow:1.0.0-dev-7570 (*)
+--- org.apache.arrow:arrow-memory-unsafe:18.1.0 (*)
This happens even if I don't use org.jetbrains.kotlinx.dataframe and just call the Apache Arrow parser directly as seen in second code example above.
I have tried adding both arrow-memory-unsage and arrow-memory-netty with the same result. I have been beating my head against a wall for the last few days. Is Android supported with this library? The data from the server comes to me in arrow-stream format so I need to be able to parse it to shows charts.
I have been able to parse the data just fine with Python and the web team is parsing it as well. I need to do this for Native Android and Native iOS.
### Component(s)
Integration
貢獻指南
研究方向
首先使用列出的 arrow-vector、arrow-memory-core、arrow-memory-unsafe 和 arrow-memory-netty 相依套件,在 Android 上透過 DataFrame.readArrowFeather、RootAllocator 和 ArrowStreamReader 重現故障。追蹤 DefaultAllocationManager 在執行時找不到的原因,並確認是否支援 Android。當 Arrow 串流和檔案剖析能在 Android 上運作,且不再出現 allocation-manager 錯誤時,即視為完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- android, java, kotlin
- 領域
- mobile-dev
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100