Comments (6)
I like this. I'd also like to make a ticket to have the mango types perform (at least in function) more similar to Keith Turner's lexicoders which were added to the Accumulo API recently. He's got some neat optimizations for different types (like doubles especially)
from mango.
-1
I am fine with this being pluggable, but we need to get away from using static mutable contexts. They severly limit the reuseability of the code. So my gripe is more with the json config file. It is fine if an application defines their configuration using a json config file themselves, but this should not be built into the types API.
from mango.
Yes. I like being able to plug in xml/json configs to represent the types. And I agree, the contexts are bad.
from mango.
With the contexts being non static coming up with a serialization strategy is actually key for accumulo-recipes. The reason for this is that this information must be passed to the Accumulo iterators for proper iterator operation for anything but the default set of types. Therefore the iterators are not able to handle custom types (which was one of the points to this api).
I am must more inclined to go for a json representation to xml. Mostly for space and readability reasons. However, since the TypeNormalizer/TypeEncoder interface are fully self describing, we really only need a list of class names. This means we can use something as simple as csv as the default config representation.
from mango.
I'm not sure if we need this, do we?
from mango.
No I don't think we need this. Even if we did try this it would be difficult to create a generic configuration that could account for encoders with a configurable state. For example a BigInteger encoder with a maxSize parameter. We should still make the encoders serializable to allow them to be shared between distributed systems, but no config is needed.
from mango.
Related Issues (20)
- IP classes should be caching the byteArray used for comparisons instead of the InetAddress HOT 3
- CloseableIterables needs a toList() or toCollection method HOT 2
- Host the javadocs for release versions
- Release mango 2.0 HOT 1
- Removed deprecated jackson serialization and deserialization classes
- Most of the criteria objects don't evaluate correctly
- Entity object needs to specify a serialVersionUuid HOT 1
- "Short Alias" for type encoders HOT 7
- AbstractAttributeStore should use the ArrayListMultiMap HOT 2
- Remove ComparableComparator
- Add a close/shutdown method to the Batcher interface that returns all of the unprocessed objects in the queue.
- RangeLeaf should not just extend AbstractKeyValueLeaf HOT 1
- Cleanup Criteria domain objects
- BigDecimalLexiEncoder has a bug with lexi encoding 0
- IP Type should be Public
- Invalid error message parameters HOT 1
- Replace Query and Criteria APIs with library support HOT 1
- Fix use of methods that have been deprecated in new guava versions. HOT 6
- Update to use Java 8
- Add encoders for Java 8's Instant time class
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mango.