| <?xml version="1.0"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| --> |
| <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> |
| |
| <configuration> |
| <property> |
| <name>lens.driver.jdbc.connection.provider</name> |
| <value></value> |
| <description>A contract for obtaining JDBC connections</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.connection.properties</name> |
| <value></value> |
| <description>Connection properties for jdbc connection.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.query.rewriter</name> |
| <value>org.apache.lens.driver.jdbc.ColumnarSQLRewriter</value> |
| <description>Rewriting the HQL to optimized sql queries</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.regex.replacement.values</name> |
| <value>to_date=date, format_number=format, date_sub\((.*?)\,\s*([0-9]+\s*)\)=date_sub($1\, interval $2 day), date_add\((.*?)\,\s*([0-9]+\s*)\)=date_add($1\, interval $2 day)</value> |
| <description>Rewriting the HQL to optimized sql queries</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.driver.class</name> |
| <value>com.mysql.jdbc.Driver</value> |
| <description>Type of JDBC driver used to connect backend database</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.db.uri</name> |
| <value></value> |
| <description>JDBC connection URL in the format jdbc:dbms://host:port/dbname</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.db.user</name> |
| <value></value> |
| <description>The database user on whose behalf the connection is being made</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.db.password</name> |
| <value></value> |
| <description>The database user's password</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.pool.max.size</name> |
| <value>15</value> |
| <description>Maximum number of concurrent connections allowed in pool</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.pool.idle.time</name> |
| <value>600</value> |
| <description>Maximum idle time in sec before a connection is closed</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.pool.max.statements</name> |
| <value>20</value> |
| <description>Maximum number of prepared statements to cache per connection</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.get.connection.timeout</name> |
| <value>10000</value> |
| <description>The number of milliseconds a client calling getConnection() will wait for a Connection to be |
| checked-in or acquired when the pool is exhausted. Zero means wait indefinitely. Setting any positive value |
| will cause the getConnection () call to time-out and break with an SQLException after the specified number |
| of milliseconds. The default value of this property is 10 secs.</description> |
| </property> |
| |
| <!-- Estimate query connection pool settings --> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.connection.properties</name> |
| <value></value> |
| <description>Connection properties for jdbc estimate connection.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.driver.class</name> |
| <value></value> |
| <description>Type of JDBC driver used to connect backend database for estimate queries. If |
| This property is not specified, value for lens.driver.jdbc.driver.class will be used. |
| Override this property to tune estimate connection pool</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.db.uri</name> |
| <value></value> |
| <description>JDBC connection URL in the format jdbc:dbms://host:port/dbname for estimate queries. |
| If this property is unspecified, value for lens.driver.jdbc.db.uri will be used.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.db.user</name> |
| <value></value> |
| <description>The database user on whose behalf the connection is being made, for estimate queries. |
| If this property is unspecified, value for lens.driver.jdbc.db.user would be used. |
| Override this property to tune estimate connection pool</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.db.password</name> |
| <value></value> |
| <description>The database user's password, for estimate queries. If this property is unspecified, |
| value for lens.driver.jdbc.db.password would be used. |
| Override this property to tune estimate connection pool</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.pool.max.size</name> |
| <value></value> |
| <description>Maximum number of concurrent connections allowed in pool, for estimate queries. |
| If this property is unspecified, value for lens.driver.jdbc.pool.max.size would be used. |
| Override this property to tune estimate connection pool</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.pool.idle.time</name> |
| <value></value> |
| <description>Maximum idle time in sec before a connection is closed, for estimate queries. |
| If this property is not specified, value for lens.driver.jdbc.pool.idle.time would be used. |
| Override this property to tune estimate connection pool.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.pool.max.statements</name> |
| <value></value> |
| <description>Maximum number of prepared statements to cache per connection, for estimate queries. |
| If this property is not specified, value for lens.driver.jdbc.pool.max.statements would be used.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.estimate.get.connection.timeout</name> |
| <value></value> |
| <description>Response timeout in milliseconds of any JDBC call invoking data transmission over a connection socket |
| , for estimate queries. If this property is not specified, value for lens.driver.jdbc.get.connection.timeout |
| would be used. Override this property to tune estimate connection pool.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.explain.keyword</name> |
| <value>Explain</value> |
| <description>Explain keyword used to get the query plan of underlying database</description> |
| </property> |
| |
| <!-- query params --> |
| |
| <property> |
| <name>lens.cube.query.driver.supported.storages</name> |
| <value></value> |
| <description>List of comma separated storage names that supported by a driver. If no value is specified, all |
| storages are valid |
| </description> |
| </property> |
| |
| <property> |
| <name>lens.cube.query.replace.timedim</name> |
| <value>false</value> |
| <description>Tells whether timedim attribute queried in the time range should be replaced with its corresponding |
| partition column name. |
| </description> |
| </property> |
| |
| <property> |
| <name>lens.cube.query.time.range.writer.class</name> |
| <value>org.apache.lens.cube.parse.BetweenTimeRangeWriter</value> |
| <description>The timerange writer class which specifies how the resolved partitions in timeranges should be written |
| in final query. Available writers are org.apache.lens.cube.parse.ORTimeRangeWriter and |
| org.apache.lens.cube.parse.BetweenTimeRangeWriter |
| </description> |
| </property> |
| |
| <property> |
| <name>lens.cube.query.partition.where.clause.format</name> |
| <value>yyyy-MM-dd HH:mm:ss</value> |
| <description>The simple date format of how the queried partition should be put in where clause. If nothing is |
| specified, it will use the format from org.apache.lens.cube.metadata.UpdatePeriod for each type of partition |
| </description> |
| </property> |
| |
| <property> |
| <name>lens.query.timeout.millis</name> |
| <value>3600000</value> |
| <description>The runtime(millis) of the query after which query will be timedout and cancelled. Default is 1 hour |
| for jdbc queries. |
| </description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.enable.resultset.streaming.retrieval</name> |
| <value>false</value> |
| <description>Flag to enable row by row retrieval of result set from the database server. This is used to enable |
| streaming result sets for MySQL. This is set to false by default. |
| </description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.fetch.size</name> |
| <value>1000</value> |
| <description>Fetch size for JDBC result set</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.validate.through.prepare</name> |
| <value>true</value> |
| <description>Flag to enable query syntactic and semantic validation using prepared statement.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.query.launching.constraint.factories</name> |
| <value>org.apache.lens.server.api.query.constraint.MaxConcurrentDriverQueriesConstraintFactory, |
| org.apache.lens.driver.jdbc.MaxJDBCConnectionCheckConstraintFactory</value> |
| <description>Factories used to instantiate constraints enforced on queries by driver. A query will be launched |
| only if all constraints pass. Every Factory should be an implementation of |
| org.apache.lens.server.api.common.ConfigBasedObjectCreationFactory and create an implementation of |
| org.apache.lens.server.api.query.constraint.QueryLaunchingConstraint.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.waiting.queries.selection.policy.factories</name> |
| <value>org.apache.lens.server.api.query.collect.DriverSpecificWaitingQueriesSelectionPolicyFactory</value> |
| <description>Factories used to instantiate driver specific waiting queries selection policies. Every factory should |
| be an implementation of org.apache.lens.server.api.common.ConfigBasedObjectCreationFactory and create an |
| implementation of org.apache.lens.server.api.query.collect.WaitingQueriesSelectionPolicy.</description> |
| </property> |
| |
| <property> |
| <name>driver.max.concurrent.launched.queries</name> |
| <value>15</value> |
| <description>Maximum queries which can be launched simultaneously on this driver. This should be equal to |
| lens.driver.jdbc.pool.max.size. This configuration value is only useful when MaxConcurrentDriverQueriesConstraint |
| is enabled by using org.apache.lens.server.api.query.constraint.MaxConcurrentDriverQueriesConstraintFactory as |
| one of the factories in lens.driver.jdbc.query.constraint.factories property.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.statement.cancel.supported</name> |
| <value>true</value> |
| <description>Flag to indicate Whether cancel on JDBC statement is supported. If not supported, |
| framework wont call cancel on JDBC statement.</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.jdbc.cost.calculator.class</name> |
| <value>org.apache.lens.cube.query.cost.StaticCostCalculator</value> |
| <description>Cost calculator class. By default calculating cost through static values </description> |
| </property> |
| |
| <property> |
| <name>lens.driver.query.cost</name> |
| <value>0.0</value> |
| <description>Jdbc driver static cost value</description> |
| </property> |
| |
| <property> |
| <name>lens.driver.cost.query.decider.class</name> |
| <value>org.apache.lens.server.api.query.cost.RangeBasedQueryCostTypeDecider</value> |
| <description>Decider class which looks at ranges passed in config and decides the querycosttype </description> |
| </property> |
| |
| <property> |
| <name>lens.driver.cost.type.ranges</name> |
| <value>LOW,0.0,HIGH</value> |
| <description>Cost based Query type mapping</description> |
| </property> |
| |
| <property> |
| <name>retry.messages.contains.map</name> |
| <value>Query not found=org.apache.lens.server.api.retry.ImmediateRetryHandler(2)</value> |
| <description>Comma separated error messages and retry policy</description> |
| </property> |
| |
| <property> |
| <name>query.retry.policy.classes</name> |
| <value>org.apache.lens.server.api.retry.SubstringMessagePolicyDecider</value> |
| <description>List of classes to decide policies</description> |
| </property> |
| |
| <property> |
| <name>lens.cube.query.user.groups.authorization.enable</name> |
| <value>false</value> |
| <description>true if authorization is based on User Groups, false otherwise</description> |
| </property> |
| |
| <property> |
| <name>lens.cube.query.user.name.authorization.enable</name> |
| <value>false</value> |
| <description>true if authorization is based on User Name, false otherwise</description> |
| </property> |
| |
| </configuration> |