<commit_before>Accumulo connector
==================

Overview
--------

The Accumulo connector supports reading and writing data from
`Apache Accumulo <https://accumulo.apache.org/>`_.
Please read this page thoroughly to understand the capabilities and features of the connector.

Installing the iterator dependency
----------------------------------

The Accumulo connector uses custom Accumulo iterators in
order to push various information in a SQL predicate clause to Accumulo for
server-side filtering, known as *predicate pushdown*. In order
for the server-side iterators to work, you need to add the ``trino-accumulo-iterators``
JAR file to Accumulo's ``lib/ext`` directory on each TabletServer node.

.. code-block:: bash

    # For each TabletServer node:
    scp $PRESTO_HOME/plugins/accumulo/trino-accumulo-iterators-*.jar [tabletserver_address]:$ACCUMULO_HOME/lib/ext

    # TabletServer should pick up new JAR files in ext directory, but may require restart

Connector configuration
-----------------------

Create ``etc/catalog/accumulo.properties``
to mount the ``accumulo`` connector as the ``accumulo`` catalog,
replacing the ``accumulo.xxx`` properties as required:<commit_msg>Add requirements to Accumulo connector<commit_after>Accumulo connector
==================

Overview
--------

The Accumulo connector supports reading and writing data from
`Apache Accumulo <https://accumulo.apache.org/>`_.
Please read this page thoroughly to understand the capabilities and features of the connector.

Installing the iterator dependency
----------------------------------

The Accumulo connector uses custom Accumulo iterators in
order to push various information in a SQL predicate clause to Accumulo for
server-side filtering, known as *predicate pushdown*. In order
for the server-side iterators to work, you need to add the ``trino-accumulo-iterators``
JAR file to Accumulo's ``lib/ext`` directory on each TabletServer node.

.. code-block:: bash

    # For each TabletServer node:
    scp $PRESTO_HOME/plugins/accumulo/trino-accumulo-iterators-*.jar [tabletserver_address]:$ACCUMULO_HOME/lib/ext

    # TabletServer should pick up new JAR files in ext directory, but may require restart

Requirements
------------

To connect to Accumulo, you need:

* Accumulo versions 1.x starting with 1.7.4. Versions 2.x are not supported.
* Network access from the Trino coordinator and workers to the Accumulo
  Zookeeper server. Port 2181 is the default port.

Connector configuration
-----------------------

Create ``etc/catalog/accumulo.properties``
to mount the ``accumulo`` connector as the ``accumulo`` catalog,
replacing the ``accumulo.xxx`` properties as required:
{'fraction_non_alphanumeric': 0.13134328358208955, 'fraction_numerical': 0.0033582089552238806, 'mean_word_length': 3.7367491166077738, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3859546', 'n_tokens_mistral': 744, 'n_tokens_neox': 695, 'n_words': 292}