|
1 | 1 | (ns zero-one.geni.arrow
|
2 |
| - (:import [org.apache.arrow.vector VarCharVector |
3 |
| - VectorSchemaRoot BigIntVector Float4Vector Float8Vector IntVector |
4 |
| - BitVector ValueVector BaseFixedWidthVector TimeStampMilliVector] |
5 |
| - [org.apache.arrow.vector.util Text] |
6 |
| - [org.apache.arrow.vector.ipc ArrowStreamWriter] |
7 |
| - [org.apache.arrow.memory RootAllocator] |
8 |
| - [java.nio.channels Channels] |
9 |
| - [org.apache.spark.sql Row] |
10 |
| - [org.apache.arrow.vector.types.pojo Schema] |
11 |
| - [scala.collection.convert Wrappers$IteratorWrapper] |
12 |
| - ) |
13 |
| - (:require |
14 |
| - [clojure.java.io :as io] |
15 |
| - |
16 |
| - )) |
| 2 | + (:require [clojure.java.io :as io]) |
| 3 | + (:import java.nio.channels.Channels |
| 4 | + org.apache.arrow.memory.RootAllocator |
| 5 | + [org.apache.arrow.vector BaseFixedWidthVector BigIntVector BitVector Float4Vector Float8Vector IntVector |
| 6 | + TimeStampMilliVector ValueVector VarCharVector VectorSchemaRoot] |
| 7 | + org.apache.arrow.vector.ipc.ArrowStreamWriter |
| 8 | + org.apache.arrow.vector.types.pojo.Schema |
| 9 | + org.apache.arrow.vector.util.Text |
| 10 | + org.apache.spark.sql.Row |
| 11 | + scala.collection.convert.Wrappers$IteratorWrapper)) |
17 | 12 |
|
18 | 13 | ;; (set! *warn-on-reflection* true)
|
19 | 14 |
|
|
102 | 97 |
|
103 | 98 |
|
104 | 99 | (defn- schema->clojure [^Schema schema]
|
105 |
| - (map |
106 |
| - #(hash-map |
107 |
| - :type %1 |
108 |
| - :name %2) |
109 |
| - (->> schema .fields (map #(keyword (.. % dataType typeName)))) |
110 |
| - (->> schema .fields (map #(.. % name))))) |
| 100 | + (let [fields (.fields schema) |
| 101 | + types (map #(keyword (.. % dataType typeName)) fields) |
| 102 | + names (map #(.name %) fields)] |
| 103 | + (map |
| 104 | + (fn [type name] |
| 105 | + (hash-map :type type :name name)) |
| 106 | + types |
| 107 | + names |
| 108 | + ))) |
111 | 109 |
|
112 | 110 | (defn- set-null-or-value [v ^long idx value type]
|
113 | 111 | (if (nil? value)
|
|
0 commit comments