The sizes of those jars will change with the actual release. We are working details of how we want each packaged and deployed now in a branch. For now, that accumulo jar is bloated by hbase dependencies (won't be the case in the release), and the hbase jar is very minimal. The HBase jar will work for server-side spatial and spatial-temporal filtering, but not for arbitrary CQL. We will be more inclusive with the release to enable all things for both datastores.
Yes, the "examples" is a good place to look as a very basic starting point. Also, you may be able to find a lot of interesting examples in the "test" project. We use annotations to test all of our underlying datastores (and permutations of versions to support the latest release and the previous minor version release) with the same set of integration tests so that we can be sure we maintain support for all of our advertised capabilities on all of the underlying data store. So for more advanced examples, you can look through our integration tests. Here's an example of how the annotation is used to test basic ingest and query:
https://github.com/ngageoint/geowave/blob/master/test/src/test/java/mil/nga/giat/geowave/test/basic/GeoWaveBasicSpatialVectorIT.java#L39The HBase annotation just tells the test runner to make sure to setup a mini-HBase cluster and to connect to it (
https://github.com/ngageoint/geowave/blob/master/test/src/main/java/mil/nga/giat/geowave/test/HBaseStoreTestEnvironment.java). The advantage of following these integration test examples for your code is that none of them directly depend on Accumulo or HBase - so as we continue to add data stores such as Amazon's DynamoDB or Apache Cassandra you will be able to seamlessly switch which one you connect to without modifying your code if you choose. Of course, using general code is never as straightforward as the specific, so the "examples" project shows explicit implementations to ingest and query each data store.