Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Kenta Murata
    @mrkn
    あぁ、なるほど。もう Arrow.jl が抜ける方向で決まった感じになってるのかー
    展開が早いな
    正直な感想をいうと、Apache Way は Julia コミュニティの文化とは相性悪いのはその通りだと思います。
    Kenta Murata
    @mrkn
    Arrow.jl が apache/arrow から抜けて JuliaData/Arrow.jl として続けていくことは、それはそれで良いと思ったので、僕はこの件についてはこのまま静観します。
    kojix2
    @kojix2
    「Apache Way は Julia コミュニティの文化とは相性悪い」のはどうしてですか?
    6 replies
    Sutou Kouhei
    @kou
    わかりました!
    Kenta Murata
    @mrkn
    @kou Rdatasets のやつ、対応できてるのでお手すきの際にご確認ください red-data-tools/red-datasets#99
    Sutou Kouhei
    @kou
    はい!午後に見れるはずです!
    Sutou Kouhei
    @kou
    見ました!テストが失敗するの、謎いですね。。。
    Kenta Murata
    @mrkn
    あれはなんでしょうねぇ
    Kazuaki Ishizaki
    @kiszk
    3月39日が終わった。週末ぐらいから、Arrowにも戻りたい。
    Sutou Kouhei
    @kou
    そうなんですよ。
    JIRAベースの開発スタイルが合わないというのとmonorepo内で一部だけリリースするのが大変そうというので、リポジトリーを分けてapache/arrowとは違った開発スタイルになる予定です。
    Juliaと違うのは、引き続きapache/以下を使ってそこをメインの開発インフラとして情報を集約するので、ASF公式プロジェクトであるということは変わらないし、Apache wayでやっていくという点です。
    Sutou Kouhei
    @kou
    @kiszk https://issues.apache.org/jira/browse/ARROW-11135
    Javaのパッケージのことがさっぱりなんですが、macOS用のGandivaの.jar(スタティックリンクされたC++のGandivaのやつを含む)って https://search.maven.org/search?q=g:org.apache.arrow%20AND%20v:3.0.0 で提供できるものなんでしょうか!?提供できるならどうすればいいもんなんでしょうか!?
    Kazuaki Ishizaki
    @kiszk
    質問は、native libraryを含むjarを 提供できるか、ということでしょうか? そうであれば、YESです。
    さらに、arrowのようにmulti-platformであっても、1つのjarにできます。たとえば、snappy-javaはそれを実現しています。jarの中を見ると、複数のnative libraryが入っています。
    https://github.com/xerial/snappy-java
    https://oss.sonatype.org/content/repositories/snapshots/org/xerial/snappy/snappy-java/1.1.8.5-SNAPSHOT/
    Sutou Kouhei
    @kou
    その質問であっています!
    できるんですね!では、あとは誰がやるかという話になるわけですね!
    Kazuaki Ishizaki
    @kiszk
    実際に、どうやってパッケージングするか、はbuild.sbtを読んだことがないので、わからないです。 一言で言えば、native libraryをjarの適切なディレクトリにappendできればいい、です。
    Sutou Kouhei
    @kou
    なるほど!
    Kazuaki Ishizaki
    @kiszk
    arrowもmulti-platformサポートなので、snappy-javaのようにos+archの階層ディレクトリにして、native libraryを置くようにして、JNIのloadも階層ディレクトリをサポートするのが、よいと思います。flatなディレクトリ(今のようにtop)におくと、x86 macとM1 macのdylibが同じ名前で即詰みます。
    Sutou Kouhei
    @kou
    なるほど!
    Kazuaki Ishizaki
    @kiszk
    元のissueの話に戻すと、今の arrow-gandiva-3.0.0-SNAPSHOT.jarもすでに、libgandiva_jni.dylib 、が含まれているので、たぶんprotobufのバージョン違い、の問題のように思います。
    Sutou Kouhei
    @kou
    なるほど!ありがとうございます!

    うへー!アナウンスするのを忘れていた!
    オンライン開発イベントは今日です!
    https://speee.connpass.com/event/209696/

    今日はここらへんをできるといいな。

    • Fiddleまわりのやつ
    • Apache Arrow GLibでApache Arrow Dataset APIを使ってParquetを読み込めるようにする
    Kazuaki Ishizaki
    @kiszk
    今日はこれができるといいな
    kojix2
    @kojix2
    今日は全く参加できません。頑張ってください。(最近アイコンを変えました)
    Sutou Kouhei
    @kou
    Fiddleのやつ、仕様を考えるところまで。。。
    実装はまた今度。。。
    Kazuaki Ishizaki
    @kiszk

    apache/arrow#8210 のreviewのお願いは、ようやくできた。

    #9985のほうは、これから見てみよう(jsonにcountersを生やしたのでfailするのはわかっているけど、testでどこでcounterが用意されているかが、ぱっと見わからなかった)

    Kenta Murata
    @mrkn
    charty のテストを ruby 3.0 で実行すると nmatrix の中で SEGV が起きるなぁ
    Sutou Kouhei
    @kou
    @mrkn Julia実装がapache/以下でがんばるのを俺達は応援するよ!と宣言しておきました!
    https://lists.apache.org/thread.html/rb420deb648ae4e00555bcc9ba186265aabd15ef02e8606138e3ca953%40%3Cdev.arrow.apache.org%3E
    Kenta Murata
    @mrkn
    Arrow.js になってますな
    Sutou Kouhei
    @kou
    Julia愛がないのがバレる。
    Kenta Murata
    @mrkn
    良いメールですね!
    Sutou Kouhei
    @kou
    恐縮です!
    kojix2
    @kojix2
    fiddleのはCの表現力の全体が見渡せないので、私の力だと考えるのが難しそう。
    4 replies
    Kazuaki Ishizaki
    @kiszk
    apache/arrow#10058  をreviewしていて気がついた。
    flatcが生成したJava codeがendian依存だったら、endianごとに2種類のjarを用意しないといけない、ということだろうか...  もしくは動的切り替え?
    CIは、テストするプラットフォームごとにjarをbuildしているから問題が発覚しなかったのかも
    Kazuaki Ishizaki
    @kiszk
    https://travis-ci.com/github/apache/arrow/jobs/498880709 がpassしているから、生成されたJavaコードはendianに依存していないのかな?
    Sutou Kouhei
    @kou

    Flatbuffersはぜんぶリトルエンディアンで扱っているはずです!
    https://google.github.io/flatbuffers/md__internals.html

    Each scalar is also always represented in little-endian format

    Kazuaki Ishizaki
    @kiszk

    はい、swapはどこでやっているのかな、と思ったのでした。軽く眺めてみると、flatcが生成したコードは特定のendianには依存してないようですし、testも通っているので、いらないコード https://github.com/apache/arrow/blob/master/ci/scripts/java_build.sh#L33-L40 消してしまいます。
    https://google.github.io/flatbuffers/md__internals.html

    FlatBuffers will also work on big-endian machines, but will be slightly slower because of additional byte-swap intrinsics.

    Sutou Kouhei
    @kou
    いいと思います!
    kojix2
    @kojix2
    Sutou Kouhei
    @kou
    Apache ArrowのRust実装のリポジトリーです。
    apache/arrowから分離しました。
    kojix2
    @kojix2
    ほかの言語(Ruby等)からも呼べますか?
    Sutou Kouhei
    @kou
    呼べないです。
    Apache Arrowファイルは各言語の実装で読み書きすることになります。
    Apache ArrowのRust実装の上に実装されたDataFusion/Ballistaというクエリーエンジン(前者が1つのマシンで動くやつで後者が前者の上に実装された複数マシンで動くやつ)は他の言語(たとえばPython)からも使えるようになっています。
    おいおいRubyからも使えるようにしようかと思っています。
    kojix2
    @kojix2
    ここに置いてあるのは将来的には削除されますか?
    https://github.com/apache/arrow/tree/master/rust
    Sutou Kouhei
    @kou
    されます。
    Kenta Murata
    @mrkn
    こういうのも Charty でできるようにしたいなぁ
    https://twitter.com/ClausWilke/status/1384586078288416768?s=20
    Sutou Kouhei
    @kou
    インタラクティブだ!すごい!