Merged master into LENS-581
Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/25a17dfc Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/25a17dfc Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/25a17dfc Branch: refs/heads/LENS-581 Commit: 25a17dfc9eed289fbedb5b7b7c66a77e471cbd4c Parents: 5052e2a 4d7c8e4 Author: Sharad Agarwal <[email protected]> Authored: Wed Dec 30 12:36:48 2015 +0530 Committer: Sharad Agarwal <[email protected]> Committed: Wed Dec 30 12:36:48 2015 +0530 ---------------------------------------------------------------------- .gitignore | 6 + .reviewboardrc | 17 + DISCLAIMER | 6 - NOTICE | 2 +- README.md | 11 +- bin-dist-files/LICENSE | 8 + bin-dist-files/NOTICE | 5 +- bin-dist-files/README | 6 +- checkstyle/pom.xml | 2 +- lens-api/pom.xml | 6 +- .../java/org/apache/lens/api/APIResult.java | 16 +- .../main/java/org/apache/lens/api/LensConf.java | 13 + .../org/apache/lens/api/LensSessionHandle.java | 4 +- .../lens/api/error/LensCommonErrorCode.java | 12 +- .../apache/lens/api/jaxb/LensJAXBContext.java | 91 + .../lens/api/jaxb/LensJAXBContextResolver.java | 74 + .../api/jaxb/LensJAXBValidationException.java | 31 + .../lens/api/query/InMemoryQueryResult.java | 24 +- .../lens/api/query/LensPreparedQuery.java | 8 +- .../org/apache/lens/api/query/LensQuery.java | 12 +- .../lens/api/query/PersistentQueryResult.java | 28 +- .../org/apache/lens/api/query/QueryPlan.java | 24 - .../org/apache/lens/api/query/QueryResult.java | 4 +- .../org/apache/lens/api/query/QueryStatus.java | 39 +- .../lens/api/query/SchedulerJobHandle.java | 82 + .../apache/lens/api/query/SchedulerJobInfo.java | 68 + .../api/query/SchedulerJobInstanceHandle.java | 86 + .../api/query/SchedulerJobInstanceInfo.java | 84 + .../lens/api/query/save/ListResponse.java | 51 + .../apache/lens/api/query/save/Parameter.java | 80 + .../api/query/save/ParameterCollectionType.java | 40 + .../lens/api/query/save/ParameterDataType.java | 48 + .../api/query/save/ParameterParserResponse.java | 50 + .../query/save/ResourceModifiedResponse.java | 70 + .../apache/lens/api/query/save/SavedQuery.java | 70 + .../apache/lens/api/result/LensAPIResult.java | 11 +- .../org/apache/lens/api/result/LensErrorTO.java | 8 +- .../api/result/LensJAXBContextResolver.java | 77 - .../apache/lens/api/result/PrettyPrintable.java | 2 +- .../org/apache/lens/api/util/CommonUtils.java | 81 + .../org/apache/lens/api/util/PathValidator.java | 139 ++ lens-api/src/main/resources/cube-0.1.xsd | 66 +- lens-api/src/main/resources/lens-errors.conf | 316 ++- .../src/main/resources/scheduler-job-0.1.xsd | 283 +++ .../org/apache/lens/api/TestPathValidator.java | 137 ++ .../apache/lens/api/util/CommonUtilsTest.java | 54 + .../apache/lens/doc/TestGenerateConfigDoc.java | 21 + lens-cli/pom.xml | 2 +- .../lens/cli/commands/BaseLensCommand.java | 47 +- .../commands/ConceptualTableCrudCommand.java | 31 + .../lens/cli/commands/LensCRUDCommand.java | 11 +- .../cli/commands/LensConnectionCommands.java | 77 +- .../lens/cli/commands/LensCubeCommands.java | 11 +- .../lens/cli/commands/LensDatabaseCommands.java | 3 +- .../cli/commands/LensDimensionCommands.java | 12 +- .../commands/LensDimensionTableCommands.java | 16 +- .../lens/cli/commands/LensFactCommands.java | 16 +- .../cli/commands/LensLogResourceCommands.java | 78 + .../cli/commands/LensNativeTableCommands.java | 2 +- .../lens/cli/commands/LensQueryCommands.java | 175 +- .../lens/cli/commands/LensStorageCommands.java | 9 +- .../cli/commands/LogicalTableCrudCommand.java | 112 +- .../cli/commands/PhysicalTableCrudCommand.java | 129 -- .../META-INF/spring/spring-shell-plugin.xml | 3 + .../apache/lens/cli/ExecuteQueryCommandIT.java | 4 +- .../lens/cli/TestLensConnectionCliCommands.java | 12 +- .../apache/lens/cli/TestLensCubeCommands.java | 65 +- .../lens/cli/TestLensDatabaseCommands.java | 3 +- .../lens/cli/TestLensDimensionCommands.java | 10 +- .../cli/TestLensDimensionTableCommands.java | 25 +- .../apache/lens/cli/TestLensFactCommands.java | 20 +- .../TestLensFactCommandsWithMissingWeight.java | 6 +- .../lens/cli/TestLensLogResourceCommands.java | 97 + .../lens/cli/TestLensNativeTableCommands.java | 6 +- .../apache/lens/cli/TestLensQueryCommands.java | 195 +- .../lens/cli/TestLensStorageCommands.java | 8 +- .../lens/cli/doc/TestGenerateCLIUserDoc.java | 3 +- lens-cli/src/test/resources/cli-intro.apt | 23 +- .../resources/dim-local-storage-element.xml | 6 +- lens-cli/src/test/resources/dim1-local-part.xml | 7 +- .../src/test/resources/dim1-local-parts.xml | 3 +- lens-cli/src/test/resources/dim_table.xml | 15 +- lens-cli/src/test/resources/dim_table2.xml | 13 +- .../drivers/hive/hive1/hivedriver-site.xml | 80 + .../resources/fact-local-storage-element.xml | 4 +- .../src/test/resources/fact1-local-part.xml | 5 +- .../src/test/resources/fact1-local-parts.xml | 3 +- lens-cli/src/test/resources/fact1.xml | 17 +- .../src/test/resources/fact_without_weight.xml | 57 +- lens-cli/src/test/resources/sample-cube.xml | 33 + lens-cli/src/test/resources/test-detail.xml | 32 + lens-cli/src/test/resources/test-dimension.xml | 12 + lens-client/pom.xml | 24 +- .../java/org/apache/lens/client/LensClient.java | 37 +- .../apache/lens/client/LensClientConfig.java | 14 + .../org/apache/lens/client/LensConnection.java | 36 +- .../lens/client/LensConnectionParams.java | 29 + .../apache/lens/client/LensMetadataClient.java | 21 +- .../org/apache/lens/client/LensStatement.java | 111 +- .../org/apache/lens/client/RequestFilter.java | 36 + .../src/main/resources/lens-client-default.xml | 15 + .../apache/lens/client/RequestTestFilter.java | 37 + .../org/apache/lens/client/TestLensClient.java | 1 + .../drivers/hive/hive1/hivedriver-site.xml | 80 + .../src/test/resources/lens-client-site.xml | 33 + lens-cube/pom.xml | 6 +- .../ColUnAvailableInTimeRangeException.java | 6 +- .../FieldsCannotBeQueriedTogetherException.java | 6 +- .../lens/cube/error/LensCubeErrorCode.java | 56 +- .../error/NoCandidateDimAvailableException.java | 47 + .../NoCandidateFactAvailableException.java | 48 + .../lens/cube/metadata/AbstractBaseTable.java | 8 +- .../lens/cube/metadata/BaseDimAttribute.java | 43 +- .../org/apache/lens/cube/metadata/Cube.java | 10 +- .../apache/lens/cube/metadata/CubeColumn.java | 1 - .../lens/cube/metadata/CubeFactTable.java | 23 +- .../lens/cube/metadata/CubeMetastoreClient.java | 321 ++- .../org/apache/lens/cube/metadata/DateUtil.java | 396 ++++ .../apache/lens/cube/metadata/DerivedCube.java | 70 +- .../apache/lens/cube/metadata/ExprColumn.java | 60 +- .../lens/cube/metadata/FactPartition.java | 16 +- .../lens/cube/metadata/InlineDimAttribute.java | 97 - .../apache/lens/cube/metadata/JoinChain.java | 8 +- .../lens/cube/metadata/MetastoreConstants.java | 1 + .../lens/cube/metadata/MetastoreUtil.java | 163 +- .../cube/metadata/ReferencedDimAtrribute.java | 72 +- .../apache/lens/cube/metadata/SchemaGraph.java | 45 +- .../org/apache/lens/cube/metadata/Storage.java | 2 +- .../cube/metadata/StoragePartitionDesc.java | 2 +- .../lens/cube/metadata/StorageTableDesc.java | 21 + .../lens/cube/metadata/TableReference.java | 73 +- .../lens/cube/metadata/TimePartition.java | 15 +- .../lens/cube/metadata/TimePartitionRange.java | 6 +- .../apache/lens/cube/metadata/TimeRange.java | 219 ++ .../apache/lens/cube/metadata/UpdatePeriod.java | 179 +- .../timeline/EndsAndHolesPartitionTimeline.java | 2 +- .../timeline/RangesPartitionTimeline.java | 4 +- .../timeline/StoreAllPartitionTimeline.java | 5 +- .../cube/parse/AbridgedTimeRangeWriter.java | 13 +- .../lens/cube/parse/AggregateResolver.java | 30 +- .../apache/lens/cube/parse/AliasReplacer.java | 27 +- .../apache/lens/cube/parse/AutoJoinContext.java | 760 +++++++ .../lens/cube/parse/BetweenTimeRangeWriter.java | 13 +- .../apache/lens/cube/parse/CandidateFact.java | 157 +- .../cube/parse/CandidateTablePruneCause.java | 4 + .../lens/cube/parse/CandidateTableResolver.java | 61 +- .../lens/cube/parse/CheckColumnMapping.java | 5 +- .../apache/lens/cube/parse/CheckTableNames.java | 5 +- .../apache/lens/cube/parse/ColumnResolver.java | 20 +- .../apache/lens/cube/parse/ContextRewriter.java | 6 +- .../lens/cube/parse/CubeQueryConfUtil.java | 6 + .../lens/cube/parse/CubeQueryContext.java | 178 +- .../lens/cube/parse/CubeQueryRewriter.java | 32 +- .../lens/cube/parse/CubeSemanticAnalyzer.java | 41 +- .../org/apache/lens/cube/parse/DateUtil.java | 495 ----- .../apache/lens/cube/parse/DefaultQueryAST.java | 74 + .../cube/parse/DenormalizationResolver.java | 84 +- .../apache/lens/cube/parse/DimHQLContext.java | 18 +- .../lens/cube/parse/DimOnlyHQLContext.java | 24 +- .../lens/cube/parse/ExpressionResolver.java | 118 +- .../apache/lens/cube/parse/FactHQLContext.java | 66 - .../apache/lens/cube/parse/FieldValidator.java | 17 +- .../apache/lens/cube/parse/GroupbyResolver.java | 25 +- .../lens/cube/parse/HQLContextInterface.java | 7 +- .../org/apache/lens/cube/parse/HQLParser.java | 42 +- .../org/apache/lens/cube/parse/JoinClause.java | 144 ++ .../apache/lens/cube/parse/JoinResolver.java | 942 +-------- .../org/apache/lens/cube/parse/JoinTree.java | 164 ++ .../lens/cube/parse/LeastPartitionResolver.java | 4 +- .../cube/parse/LightestDimensionResolver.java | 4 +- .../lens/cube/parse/LightestFactResolver.java | 4 +- .../cube/parse/MaxCoveringFactResolver.java | 3 +- .../lens/cube/parse/MultiFactHQLContext.java | 60 +- .../PartitionRangesForPartitionColumns.java | 6 +- .../org/apache/lens/cube/parse/PruneCauses.java | 12 + .../org/apache/lens/cube/parse/QueryAST.java | 86 + .../lens/cube/parse/SimpleHQLContext.java | 65 +- .../lens/cube/parse/SingleFactHQLContext.java | 101 - .../parse/SingleFactMultiStorageHQLContext.java | 250 ++- .../SingleFactSingleStorageHQLContext.java | 85 + .../lens/cube/parse/StorageTableResolver.java | 203 +- .../org/apache/lens/cube/parse/TimeRange.java | 219 -- .../apache/lens/cube/parse/TimeRangeWriter.java | 5 +- .../lens/cube/parse/TimerangeResolver.java | 40 +- .../apache/lens/cube/parse/UnionHQLContext.java | 63 +- .../apache/lens/cube/parse/ValidationRule.java | 5 +- .../FactPartitionBasedQueryCostCalculator.java | 8 +- .../src/main/resources/olap-query-conf.xml | 31 + .../lens/cube/metadata/CubeFactTableTest.java | 104 + .../apache/lens/cube/metadata/DateFactory.java | 207 ++ .../cube/metadata/TestCubeMetastoreClient.java | 1975 ++++++++---------- .../apache/lens/cube/metadata/TestDateUtil.java | 297 +++ .../lens/cube/metadata/TestExprColumn.java | 20 +- .../lens/cube/metadata/TestFactPartition.java | 4 +- .../lens/cube/metadata/TestTimePartition.java | 64 +- .../lens/cube/metadata/UpdatePeriodTest.java | 60 + .../timeline/TestPartitionTimelines.java | 143 +- .../apache/lens/cube/parse/CubeTestSetup.java | 718 ++++--- .../FieldsCannotBeQueriedTogetherTest.java | 55 +- .../lens/cube/parse/TestAggregateResolver.java | 97 +- .../lens/cube/parse/TestBaseCubeQueries.java | 245 ++- .../cube/parse/TestBetweenTimeRangeWriter.java | 25 +- .../lens/cube/parse/TestCubeRewriter.java | 1132 +++++----- .../apache/lens/cube/parse/TestDateUtil.java | 295 --- .../cube/parse/TestDenormalizationResolver.java | 199 +- .../lens/cube/parse/TestExpressionContext.java | 4 +- .../lens/cube/parse/TestExpressionResolver.java | 78 +- .../apache/lens/cube/parse/TestHQLParser.java | 26 +- .../lens/cube/parse/TestJoinResolver.java | 228 +- .../lens/cube/parse/TestORTimeRangeWriter.java | 40 +- .../org/apache/lens/cube/parse/TestQuery.java | 255 +++ .../lens/cube/parse/TestQueryMetrics.java | 2 +- .../lens/cube/parse/TestQueryRewrite.java | 39 +- .../lens/cube/parse/TestRewriterPlan.java | 6 +- .../apache/lens/cube/parse/TestStorageUtil.java | 115 +- .../lens/cube/parse/TestTimeRangeExtractor.java | 47 +- .../lens/cube/parse/TestTimeRangeResolver.java | 32 +- .../lens/cube/parse/TestTimeRangeWriter.java | 66 +- .../parse/TestTimeRangeWriterWithQuery.java | 218 +- .../lens/driver/cube/TestMinCostSelector.java | 8 +- lens-cube/src/test/resources/hive-site.xml | 4 +- lens-cube/src/test/resources/log4j.properties | 36 - lens-cube/src/test/resources/logback.xml | 36 + lens-dist/pom.xml | 16 +- .../src/deb/control/client-control/control | 8 +- .../src/deb/control/server-control/control | 8 +- lens-dist/src/main/assembly/bin-dist.xml | 7 +- lens-docker/lens-test/Dockerfile | 2 +- lens-docker/lens-test/lens-bootstrap.sh | 2 +- lens-driver-es/pom.xml | 78 + .../lens/driver/es/ASTTraverserForES.java | 365 ++++ .../org/apache/lens/driver/es/ESDriver.java | 392 ++++ .../apache/lens/driver/es/ESDriverConfig.java | 88 + .../java/org/apache/lens/driver/es/ESQuery.java | 55 + .../apache/lens/driver/es/client/ESClient.java | 169 ++ .../lens/driver/es/client/ESResultSet.java | 76 + .../driver/es/client/jest/JestClientImpl.java | 94 + .../client/jest/JestResultSetTransformer.java | 264 +++ .../driver/es/exceptions/ESClientException.java | 63 + .../es/exceptions/InvalidQueryException.java | 67 + .../lens/driver/es/grammar/Aggregations.java | 64 + .../driver/es/grammar/LogicalOperators.java | 82 + .../lens/driver/es/grammar/Predicates.java | 150 ++ .../es/translator/ASTCriteriaVisitor.java | 41 + .../lens/driver/es/translator/ASTVisitor.java | 49 + .../es/translator/CriteriaVisitorFactory.java | 26 + .../lens/driver/es/translator/ESVisitor.java | 178 ++ .../es/translator/impl/ESAggregateVisitor.java | 105 + .../es/translator/impl/ESCriteriaVisitor.java | 71 + .../impl/ESCriteriaVisitorFactory.java | 29 + .../es/translator/impl/ESTermVisitor.java | 94 + .../src/main/resources/esdriver-default.xml | 62 + .../org/apache/lens/driver/es/ESDriverTest.java | 43 + .../org/apache/lens/driver/es/MockClientES.java | 145 ++ .../lens/driver/es/QueryTranslationTest.java | 136 ++ .../driver/es/ResultSetTransformationTest.java | 573 +++++ .../lens/driver/es/ScrollingQueryTest.java | 93 + .../src/test/resources/invalid-queries.data | 37 + .../src/test/resources/valid-queries.data | 101 + lens-driver-hive/pom.xml | 2 +- .../org/apache/lens/driver/hive/HiveDriver.java | 232 +- .../lens/driver/hive/HiveInMemoryResultSet.java | 4 +- .../driver/hive/HivePersistentResultSet.java | 9 +- .../lens/driver/hive/LensHiveErrorCode.java | 36 + .../apache/lens/driver/hive/TestHiveDriver.java | 240 ++- .../lens/driver/hive/TestRemoteHiveDriver.java | 20 +- .../drivers/hive/hive1/hivedriver-site.xml | 49 + .../src/test/resources/hive-site.xml | 2 +- .../src/test/resources/hivedriver-site.xml | 49 - .../src/test/resources/log4j.properties | 25 - lens-driver-hive/src/test/resources/logback.xml | 32 + .../src/test/resources/priority_tests.data | 1 + lens-driver-jdbc/pom.xml | 26 +- .../lens/driver/jdbc/ColumnarSQLRewriter.java | 392 +++- .../jdbc/DataSourceConnectionProvider.java | 88 +- .../org/apache/lens/driver/jdbc/JDBCDriver.java | 103 +- .../driver/jdbc/JDBCDriverConfConstants.java | 57 +- .../apache/lens/driver/jdbc/JDBCResultSet.java | 4 +- .../src/main/resources/jdbcdriver-default.xml | 19 + .../driver/jdbc/TestColumnarSQLRewriter.java | 803 +++++-- .../jdbc/TestDataSourceConnectionProvider.java | 7 +- .../apache/lens/driver/jdbc/TestJDBCFinal.java | 19 +- .../apache/lens/driver/jdbc/TestJdbcDriver.java | 45 +- .../drivers/jdbc/jdbc1/jdbcdriver-site.xml | 70 + .../src/test/resources/hive-site.xml | 2 +- .../src/test/resources/jdbcdriver-site.xml | 57 - lens-examples/pom.xml | 2 +- .../apache/lens/examples/SampleMetastore.java | 11 +- .../org/apache/lens/examples/SampleQueries.java | 52 +- lens-examples/src/main/resources/customer.xml | 5 +- .../src/main/resources/example-job.xml | 55 + lens-examples/src/main/resources/sales-cube.xml | 18 +- lens-ml-dist/pom.xml | 2 +- lens-ml-lib/pom.xml | 6 +- .../apache/lens/client/LensMLJerseyClient.java | 5 +- .../org/apache/lens/ml/impl/LensMLImpl.java | 2 +- .../org/apache/lens/ml/impl/ModelLoader.java | 13 +- .../lens/ml/server/MLServiceResource.java | 2 +- .../drivers/hive/hive1/hivedriver-site.xml | 80 + lens-ml-lib/src/test/resources/lens-site.xml | 272 +-- lens-query-lib/pom.xml | 2 +- .../lens/lib/query/AbstractFileFormatter.java | 32 +- .../lens/lib/query/FilePersistentFormatter.java | 12 +- .../lens/lib/query/HadoopFileFormatter.java | 14 +- .../lens/lib/query/LensFileOutputFormat.java | 21 + .../lens/lib/query/WrappedFileFormatter.java | 27 +- .../apache/lens/lib/query/ZipFileFormatter.java | 13 +- .../lib/query/MockLensResultSetMetadata.java | 65 + .../lib/query/TestAbstractFileFormatter.java | 155 +- .../lib/query/TestFilePersistentFormatter.java | 80 +- .../src/test/resources/log4j.properties | 25 - lens-query-lib/src/test/resources/logback.xml | 32 + lens-regression/pom.xml | 43 +- .../src/additional/java/SampleUdf.java | 36 + .../core/constants/QueryInventory.java | 57 + .../core/helpers/LensServerHelper.java | 5 - .../core/helpers/MetastoreHelper.java | 218 +- .../regression/core/helpers/QueryHelper.java | 81 +- .../core/helpers/ServiceManagerHelper.java | 8 +- .../regression/core/helpers/SessionHelper.java | 4 - .../core/testHelper/BaseTestClass.java | 41 + .../apache/lens/regression/util/AssertUtil.java | 62 +- .../apache/lens/regression/util/HadoopUtil.java | 61 + .../org/apache/lens/regression/util/Util.java | 236 ++- lens-server-api/pom.xml | 18 +- .../lens/server/api/LensConfConstants.java | 99 +- .../apache/lens/server/api/LensErrorInfo.java | 34 + .../server/api/driver/AbstractLensDriver.java | 78 + .../lens/server/api/driver/DriverQueryPlan.java | 2 +- .../server/api/driver/DriverQueryStatus.java | 7 +- .../server/api/driver/InMemoryResultSet.java | 24 +- .../lens/server/api/driver/LensDriver.java | 26 +- .../lens/server/api/driver/LensResultSet.java | 11 +- .../api/driver/LensResultSetMetadata.java | 49 + .../server/api/driver/PersistentResultSet.java | 26 +- .../lens/server/api/error/LensException.java | 114 +- .../api/error/LensMultiCauseException.java | 20 +- .../server/api/events/AsyncEventListener.java | 50 +- .../server/api/query/AbstractQueryContext.java | 11 +- .../api/query/DriverSelectorQueryContext.java | 4 +- .../server/api/query/FinishedLensQuery.java | 50 +- .../server/api/query/PreparedQueryContext.java | 7 +- .../lens/server/api/query/QueryCancelled.java | 10 +- .../lens/server/api/query/QueryClosed.java | 10 +- .../lens/server/api/query/QueryContext.java | 68 +- .../lens/server/api/query/QueryEnded.java | 8 +- .../server/api/query/QueryExecutionService.java | 5 +- .../lens/server/api/query/QueryFailed.java | 10 +- .../server/api/query/QueryOutputFormatter.java | 13 +- .../lens/server/api/query/QuerySuccess.java | 10 +- .../query/collect/ImmutableQueryCollection.java | 6 + .../MaxConcurrentDriverQueriesConstraint.java | 54 +- ...oncurrentDriverQueriesConstraintFactory.java | 49 +- .../server/api/query/save/SavedQueryHelper.java | 93 + .../api/query/save/SavedQueryService.java | 94 + .../exception/MissingParameterException.java | 46 + .../exception/ParameterCollectionException.java | 53 + .../save/exception/ParameterValueException.java | 51 + .../save/exception/PrivilegeException.java | 51 + .../save/exception/SavedQueryNotFound.java | 45 + .../save/exception/ValueEncodeException.java | 49 + .../param/ParameterCollectionTypeEncoder.java | 70 + .../save/param/ParameterDataTypeEncoder.java | 91 + .../api/query/save/param/ParameterParser.java | 135 ++ .../api/query/save/param/ParameterResolver.java | 126 ++ .../api/scheduler/QuerySchedulerService.java | 26 - .../server/api/scheduler/SchedulerJobStats.java | 29 + .../server/api/scheduler/SchedulerService.java | 238 +++ .../apache/lens/server/api/util/LensUtil.java | 10 + .../lens/server/api/LensServerAPITestUtil.java | 47 + .../lens/server/api/driver/MockDriver.java | 34 +- .../lens/server/api/query/MockQueryContext.java | 29 +- .../api/query/TestAbstractQueryContext.java | 118 +- ...axConcurrentDriverQueriesConstraintTest.java | 181 +- .../api/query/cost/MockQueryCostCalculator.java | 31 + .../priority/MockQueryPriorityDecider.java | 30 + .../api/query/save/TestParameterParser.java | 79 + .../api/query/save/TestParameterResolution.java | 176 ++ lens-server/enunciate.xml | 3 +- lens-server/pom.xml | 30 +- .../org/apache/lens/server/BaseLensService.java | 36 +- .../apache/lens/server/EventServiceImpl.java | 9 +- .../org/apache/lens/server/LensApplication.java | 2 +- .../lens/server/LensApplicationListener.java | 2 +- .../apache/lens/server/LensRequestListener.java | 6 +- .../java/org/apache/lens/server/LensServer.java | 13 +- .../org/apache/lens/server/LensServerConf.java | 23 +- .../org/apache/lens/server/LensServices.java | 9 +- .../lens/server/LensServletContextListener.java | 26 - .../LensJAXBValidationExceptionMapper.java | 53 + .../lens/server/error/LensServerErrorCode.java | 18 +- .../UnSupportedQuerySubmitOpException.java | 6 +- .../metastore/CubeMetastoreServiceImpl.java | 79 +- .../apache/lens/server/metastore/JAXBUtils.java | 119 +- .../lens/server/metastore/MetastoreApp.java | 6 + .../server/metastore/MetastoreResource.java | 399 ++-- .../lens/server/metrics/MetricsServiceImpl.java | 10 +- .../lens/server/query/LensPersistentResult.java | 82 +- .../apache/lens/server/query/LensServerDAO.java | 56 +- .../query/QueryContextPriorityComparator.java | 48 + .../lens/server/query/QueryEndNotifier.java | 145 +- .../server/query/QueryExecutionServiceImpl.java | 759 ++++--- .../QueryExecutionStatisticsGenerator.java | 11 +- .../lens/server/query/QueryResultPurger.java | 177 ++ .../lens/server/query/QueryServiceResource.java | 50 +- .../lens/server/query/ResultFormatter.java | 24 +- .../DefaultEstimatedQueryCollection.java | 9 +- .../query/collect/DefaultQueryCollection.java | 38 +- .../IntersectingWaitingQueriesSelector.java | 107 - .../ThreadSafeEstimatedQueryCollection.java | 22 +- .../collect/ThreadSafeQueryCollection.java | 5 + .../collect/UnioningWaitingQueriesSelector.java | 93 + .../lens/server/query/save/SavedQueryApp.java | 48 + .../lens/server/query/save/SavedQueryDao.java | 483 +++++ .../server/query/save/SavedQueryResource.java | 307 +++ .../query/save/SavedQueryServiceImpl.java | 141 ++ .../lens/server/quota/QuotaServiceImpl.java | 2 +- .../apache/lens/server/rewrite/RewriteUtil.java | 28 +- .../scheduler/QuerySchedulerServiceImpl.java | 55 - .../server/scheduler/SchedulerServiceImpl.java | 200 ++ .../server/session/DatabaseResourceService.java | 49 +- .../lens/server/session/HiveSessionService.java | 5 +- .../lens/server/session/LensSessionImpl.java | 38 +- .../lens/server/session/SessionResource.java | 2 +- .../lens/server/stats/StatisticsService.java | 7 +- .../stats/event/LoggableLensStatistics.java | 2 +- .../stats/store/log/LogStatisticsStore.java | 2 +- .../store/log/StatisticsLogFileScannerTask.java | 13 +- .../stats/store/log/StatisticsLogLayout.java | 18 +- .../log/StatisticsLogPartitionHandler.java | 2 +- .../store/log/StatisticsLogRollupHandler.java | 2 +- .../lens/server/ui/MetastoreUIResource.java | 2 +- .../lens/server/ui/QueryServiceUIResource.java | 9 +- .../lens/server/ui/SessionUIResource.java | 2 +- .../LDAPBackedDatabaseUserConfigLoader.java | 4 +- .../server/util/FairPriorityBlockingQueue.java | 12 +- .../apache/lens/server/util/ScannedPaths.java | 136 +- .../apache/lens/server/util/UtilityMethods.java | 20 +- .../src/main/resources/lensserver-default.xml | 66 +- .../src/main/webapp/WEB-INF/log4j.properties | 28 - lens-server/src/main/webapp/WEB-INF/web.xml | 6 - .../server/LensAllApplicationJerseyTest.java | 8 +- .../org/apache/lens/server/LensJerseyTest.java | 32 +- .../apache/lens/server/LensServerTestUtil.java | 298 +++ .../org/apache/lens/server/LensTestUtil.java | 298 --- .../apache/lens/server/TestLensApplication.java | 2 +- .../org/apache/lens/server/TestServerMode.java | 4 +- .../apache/lens/server/TestServerRestart.java | 118 +- .../apache/lens/server/TestServiceProvider.java | 4 +- .../common/ErrorResponseExpectedData.java | 2 +- .../lens/server/common/FailingQueryDriver.java | 45 + .../lens/server/common/RestAPITestUtil.java | 127 +- .../server/healthcheck/TestHealthChecks.java | 11 +- .../server/metastore/TestMetastoreService.java | 596 ++++-- .../metrics/TestResourceMethodMetrics.java | 13 +- .../server/query/QueryAPIErrorResponseTest.java | 64 +- .../QueryContextPriorityComparatorTest.java | 99 + .../lens/server/query/TestEventService.java | 58 +- .../apache/lens/server/query/TestLensDAO.java | 13 +- .../lens/server/query/TestQueryConstraints.java | 235 +++ .../server/query/TestQueryEndEmailNotifier.java | 227 +- .../server/query/TestQueryResultPurger.java | 100 + .../lens/server/query/TestQueryService.java | 541 ++--- .../lens/server/query/TestResultFormatting.java | 42 +- .../collect/DefaultQueryCollectionTest.java | 34 +- .../IntersectingWaitingQueriesSelectorTest.java | 185 -- .../server/query/collect/QueryCollectUtil.java | 39 +- .../UnioningWaitingQueriesSelectorTest.java | 135 ++ .../ThreadSafeEstimatedQueryCollectionTest.java | 80 + .../query/save/TestSavedQueryService.java | 274 +++ .../lens/server/rewrite/TestRewriting.java | 44 +- .../session/TestDatabaseResourceService.java | 4 +- .../server/session/TestSessionClassLoaders.java | 4 +- .../lens/server/session/TestSessionExpiry.java | 4 +- .../server/session/TestSessionResource.java | 13 +- .../server/stats/TestLogStatisticsStore.java | 28 +- .../stats/TestStatisticsLogFileScannerTask.java | 16 +- .../TestStatisticsLogPartitionHandler.java | 15 +- .../lens/server/util/TestScannedPaths.java | 314 ++- .../drivers/hive/hive1/hivedriver-site.xml | 85 + .../drivers/hive/hive2/hivedriver-site.xml | 85 + .../drivers/jdbc/jdbc1/jdbcdriver-site.xml | 58 + .../mock/fail1/failing-query-driver-site.xml | 32 + .../mockHive/mockHive1/hivedriver-site.xml | 95 + .../mockHive/mockHive2/hivedriver-site.xml | 95 + lens-server/src/test/resources/hive-site.xml | 2 +- .../src/test/resources/hivedriver-site.xml | 80 - .../src/test/resources/jdbcdriver-site.xml | 55 - lens-server/src/test/resources/lens-site.xml | 38 +- lens-server/src/test/resources/log4j.properties | 50 - lens-server/src/test/resources/logback.xml | 68 + lens-ship-jars/LICENSE | 201 ++ lens-ship-jars/pom.xml | 87 + lens-ship-jars/src/site/apt/index.apt | 20 + lens-storage-db/pom.xml | 2 +- .../src/test/resources/hive-site.xml | 2 +- lens-ui/LICENSE | 201 ++ lens-ui/README.markdown | 85 + lens-ui/app/actions/AdhocQueryActions.js | 366 ++++ lens-ui/app/actions/LoginActions.js | 51 + lens-ui/app/adapters/AdhocQueryAdapter.js | 219 ++ lens-ui/app/adapters/AuthenticationAdapter.js | 55 + lens-ui/app/adapters/BaseAdapter.js | 93 + lens-ui/app/adapters/XMLAdapter.js | 37 + lens-ui/app/app.js | 62 + lens-ui/app/components/AboutComponent.js | 33 + lens-ui/app/components/AdhocQueryComponent.js | 46 + lens-ui/app/components/AppComponent.js | 39 + lens-ui/app/components/CubeSchemaComponent.js | 196 ++ lens-ui/app/components/CubeTreeComponent.js | 179 ++ lens-ui/app/components/DatabaseComponent.js | 127 ++ lens-ui/app/components/HeaderComponent.js | 87 + lens-ui/app/components/LoaderComponent.js | 34 + lens-ui/app/components/LoginComponent.js | 109 + lens-ui/app/components/LogoutComponent.js | 41 + lens-ui/app/components/QueryBoxComponent.js | 527 +++++ .../components/QueryDetailResultComponent.js | 189 ++ .../app/components/QueryOperationsComponent.js | 92 + .../app/components/QueryParamRowComponent.js | 163 ++ lens-ui/app/components/QueryParamsComponent.js | 154 ++ lens-ui/app/components/QueryPreviewComponent.js | 175 ++ lens-ui/app/components/QueryResultsComponent.js | 120 ++ .../RequireAuthenticationComponent.js | 37 + lens-ui/app/components/SavedQueriesComponent.js | 180 ++ .../components/SavedQueryPreviewComponent.js | 142 ++ lens-ui/app/components/SidebarComponent.js | 38 + lens-ui/app/components/TableSchemaComponent.js | 135 ++ lens-ui/app/components/TableTreeComponent.js | 236 +++ lens-ui/app/constants/AdhocQueryConstants.js | 58 + lens-ui/app/constants/AppConstants.js | 28 + lens-ui/app/dispatcher/AppDispatcher.js | 14 + lens-ui/app/stores/AdhocQueryStore.js | 135 ++ lens-ui/app/stores/CubeStore.js | 83 + lens-ui/app/stores/DatabaseStore.js | 62 + lens-ui/app/stores/SavedQueryStore.js | 99 + lens-ui/app/stores/TableStore.js | 106 + lens-ui/app/stores/UserStore.js | 122 ++ lens-ui/app/styles/css/global.css | 40 + lens-ui/app/styles/css/login.css | 56 + lens-ui/app/styles/css/query-component.css | 33 + lens-ui/app/styles/css/tree.css | 50 + lens-ui/app/styles/less/globals.less | 22 + lens-ui/app/utils/ErrorParser.js | 53 + lens-ui/config.json | 4 + lens-ui/index.html | 101 + lens-ui/package.json | 56 + lens-ui/pom.xml | 51 + lens-ui/server.js | 80 + lens-ui/webpack.config.js | 57 + pom.xml | 606 +++++- src/site/apt/admin/config-server.apt | 52 +- src/site/apt/admin/config.apt | 132 +- src/site/apt/admin/esdriver-config.apt | 41 + src/site/apt/admin/jdbcdriver-config.apt | 54 +- src/site/apt/admin/monitoring.apt | 32 +- src/site/apt/admin/server-components.apt | 74 +- src/site/apt/developer/commit.apt | 58 +- src/site/apt/developer/contribute.apt | 130 +- src/site/apt/index.apt | 14 +- src/site/apt/lenshome/install-and-run.apt | 31 +- .../apt/lenshome/pseudo-distributed-setup.apt | 2 +- src/site/apt/lenshome/quick-start.apt | 6 +- src/site/apt/releases/compatibility.apt | 4 +- src/site/apt/releases/download.apt | 10 +- src/site/apt/releases/release-history.apt | 54 +- src/site/apt/user/cli.apt | 68 +- src/site/apt/user/client-config.apt | 10 +- src/site/apt/user/index.apt | 117 +- src/site/apt/user/olap-cube.apt | 407 +++- src/site/apt/user/olap-query-conf.apt | 50 +- .../resources/images/apache-incubator-logo.png | Bin 4234 -> 0 bytes src/site/site.xml | 10 +- tools/conf-pseudo-distr/client/log4j.properties | 38 - tools/conf-pseudo-distr/client/logback.xml | 56 + .../drivers/hive/hive1/hivedriver-site.xml | 57 + .../drivers/jdbc/jdbc1/jdbcdriver-site.xml | 50 + .../server/hivedriver-site.xml | 57 - .../server/jdbcdriver-site.xml | 50 - tools/conf-pseudo-distr/server/lens-site.xml | 2 +- tools/conf-pseudo-distr/server/log4j.properties | 85 - tools/conf-pseudo-distr/server/logback.xml | 136 ++ tools/conf/client/log4j.properties | 38 - tools/conf/client/logback.xml | 56 + .../drivers/hive/hive1/hivedriver-site.xml | 41 + .../drivers/jdbc/jdbc1/jdbcdriver-site.xml | 50 + tools/conf/server/hivedriver-site.xml | 41 - tools/conf/server/jdbcdriver-site.xml | 50 - tools/conf/server/lens-site.xml | 2 +- tools/conf/server/log4j.properties | 85 - tools/conf/server/logback.xml | 136 ++ tools/scripts/generate-site-public.sh | 2 +- 591 files changed, 34788 insertions(+), 12083 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/25a17dfc/lens-ml-lib/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/25a17dfc/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLJerseyClient.java ---------------------------------------------------------------------- diff --cc lens-ml-lib/src/main/java/org/apache/lens/client/LensMLJerseyClient.java index 20024a1,2ccdf2a..f693cb7 --- a/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLJerseyClient.java +++ b/lens-ml-lib/src/main/java/org/apache/lens/client/LensMLJerseyClient.java @@@ -21,23 -21,24 +21,20 @@@ package org.apache.lens.client import java.util.List; import java.util.Map; -import javax.ws.rs.NotFoundException; import javax.ws.rs.client.Client; - import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.Form; import javax.ws.rs.core.MediaType; +import org.apache.lens.api.APIResult; import org.apache.lens.api.LensSessionHandle; import org.apache.lens.api.StringList; -import org.apache.lens.ml.api.ModelMetadata; -import org.apache.lens.ml.api.TestReport; +import org.apache.lens.ml.api.*; +import org.apache.lens.server.api.error.LensException; -import org.apache.hadoop.conf.Configuration; - -import org.glassfish.jersey.media.multipart.FormDataBodyPart; -import org.glassfish.jersey.media.multipart.FormDataContentDisposition; -import org.glassfish.jersey.media.multipart.FormDataMultiPart; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; - import org.glassfish.jersey.media.multipart.MultiPartFeature; - import lombok.extern.slf4j.Slf4j; /* @@@ -93,16 -82,8 +90,16 @@@ public class LensMLJerseyClient this.sessionHandle = sessionHandle; } + public void close() { + try { + connection.close(); + } catch (Exception exc) { + LOG.error("Error closing connection", exc); + } + } + protected WebTarget getMLWebTarget() { - Client client = ClientBuilder.newBuilder().register(MultiPartFeature.class).build(); + Client client = connection.buildClient(); LensConnectionParams connParams = connection.getLensConnectionParams(); String baseURI = connParams.getBaseConnectionUrl(); String mlURI = connParams.getConf().get(LENS_ML_RESOURCE_PATH, DEFAULT_ML_RESOURCE_PATH); http://git-wip-us.apache.org/repos/asf/lens/blob/25a17dfc/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/LensMLImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/25a17dfc/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/ModelLoader.java ---------------------------------------------------------------------- diff --cc lens-ml-lib/src/main/java/org/apache/lens/ml/impl/ModelLoader.java index dc23807,8a69545..fa80a56 --- a/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/ModelLoader.java +++ b/lens-ml-lib/src/main/java/org/apache/lens/ml/impl/ModelLoader.java @@@ -36,48 -34,39 +36,47 @@@ import org.apache.hadoop.hive.conf.Hive import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; -import lombok.extern.slf4j.Slf4j; -/** - * Load ML models from a FS location. - */ -@Slf4j -public final class ModelLoader { - private ModelLoader() { - } - - /** The Constant MODEL_PATH_BASE_DIR. */ +public class ModelLoader { + /** + * The Constant MODEL_PATH_BASE_DIR. + */ public static final String MODEL_PATH_BASE_DIR = "lens.ml.model.basedir"; - /** The Constant MODEL_PATH_BASE_DIR_DEFAULT. */ + /** + * The Constant MODEL_PATH_BASE_DIR_DEFAULT. + */ public static final String MODEL_PATH_BASE_DIR_DEFAULT = "file:///tmp"; - - /** The Constant TEST_REPORT_BASE_DIR. */ + /** + * The Constant LOG. + */ + public static final Log LOG = LogFactory.getLog(ModelLoader.class); + /** + * The Constant TEST_REPORT_BASE_DIR. + */ public static final String TEST_REPORT_BASE_DIR = "lens.ml.test.basedir"; - /** - * The Constant TEST_REPORT_BASE_DIR_DEFAULT. - */ - public static final String TEST_REPORT_BASE_DIR_DEFAULT = "file:///tmp/ml_reports"; - /** - * The Constant MODEL_CACHE_SIZE. - */ + + /** The Constant TEST_REPORT_BASE_DIR_DEFAULT. */ + public static final String TEST_REPORT_BASE_DIR_DEFAULT = MODEL_PATH_BASE_DIR_DEFAULT + "/ml_reports"; + + // Model cache settings + /** The Constant MODEL_CACHE_SIZE. */ public static final long MODEL_CACHE_SIZE = 10; - /** The Constant MODEL_CACHE_TIMEOUT. */ + // Model cache settings + /** + * The Constant MODEL_CACHE_TIMEOUT. + */ public static final long MODEL_CACHE_TIMEOUT = 3600000L; // one hour - - /** The model cache. */ - private static Cache<Path, MLModel> modelCache = CacheBuilder.newBuilder().maximumSize(MODEL_CACHE_SIZE) + /** + * The model cache. + */ + private static Cache<Path, TrainedModel> modelCache = CacheBuilder.newBuilder().maximumSize(MODEL_CACHE_SIZE) .expireAfterAccess(MODEL_CACHE_TIMEOUT, TimeUnit.MILLISECONDS).build(); + private ModelLoader() { + } + /** * Gets the model location. * http://git-wip-us.apache.org/repos/asf/lens/blob/25a17dfc/lens-ml-lib/src/main/java/org/apache/lens/ml/server/MLServiceResource.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/25a17dfc/lens-ml-lib/src/test/resources/lens-site.xml ---------------------------------------------------------------------- diff --cc lens-ml-lib/src/test/resources/lens-site.xml index 2d32d20,9be7850..854f861 --- a/lens-ml-lib/src/test/resources/lens-site.xml +++ b/lens-ml-lib/src/test/resources/lens-site.xml @@@ -23,141 -23,140 +23,141 @@@ <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> - <property> - <name>lens.server.drivers</name> - <value>org.apache.lens.driver.hive.HiveDriver</value> - </property> - - <property> - <name>test.lens.site.key</name> - <value>gsvalue</value> - </property> - - <property> - <name>lens.server.enable.console.metrics</name> - <value>false</value> - <description>Enable metrics to be reported on console</description> - </property> - - <property> - <name>lens.server.persist.location</name> - <value>target/persist-dir</value> - </property> - - <property> - <name>lens.query.result.parent.dir</name> - <value>target/lens-results</value> - </property> - - <property> - <name>hive.server2.query.log.dir</name> - <value>target/query-logs</value> - </property> - - <property> - <name>hive.server2.authentication</name> - <value>CUSTOM</value> - </property> - - <property> - <name>hive.server2.custom.authentication.class</name> - <value>org.apache.lens.server.auth.FooBarAuthenticationProvider</value> - </property> - - - <property> - <name>lens.query.enable.mail.notify</name> - <value>false</value> - <description>When a query ends, whether to notify the submitter by mail or not.</description> - </property> - - <property> - <name>lens.server.mail.from.address</name> - <value>[email protected]</value> - <description>The from field in the notifier mail to the submitter.</description> - </property> - - <property> - <name>lens.server.mail.host</name> - <value>localhost</value> - <description>SMTP Host for sending mail</description> - </property> - - <property> - <name>lens.server.mail.port</name> - <value>25000</value> - <description>SMTP Port</description> - </property> - - <property> - <name>lens.server.ws.resourcenames</name> - <value>session,metastore,query,quota,scheduler,index,test,ml</value> - <description>These JAX-RS resources would be started in the specified order when lens-server starts up - </description> - </property> - - <property> - <name>lens.server.test.ws.resource.impl</name> - <value>org.apache.lens.server.TestResource</value> - <description>Implementation class for Test Resource</description> - </property> - - <property> - <name>lens.server.ml.ws.resource.impl</name> - <value>org.apache.lens.ml.server.MLServiceResource</value> - <description>Implementation class for ML Service Resource</description> - </property> - - <property> - <name>lens.server.user.resolver.type</name> - <value>FIXED</value> - </property> - <property> - <name>lens.server.user.resolver.fixed.value</name> - <value>testlensuser</value> - </property> - <property> - <name>lens.server.domain</name> - <value>localhost</value> - </property> - - <property> - <!-- Immediately insert all finished queries to DB --> - <name>lens.server.max.finished.queries</name> - <value>1</value> - </property> - - <property> - <name>lens.server.db.jdbc.url</name> - <value>jdbc:hsqldb:target/queries.db</value> - </property> - - <property> - <name>lens.server.servicenames</name> - <value>session,query,metastore,scheduler,quota,ml,mocknonlens</value> - </property> - - <property> - <name>lens.server.ml.service.impl</name> - <value>org.apache.lens.ml.server.MLServiceImpl</value> - <description>Implementation class for ML service</description> - </property> - - <property> - <name>lens.ml.drivers</name> - <value>org.apache.lens.ml.algo.spark.SparkMLDriver</value> - </property> - - <property> - <name>lens.ml.sparkdriver.spark.master</name> - <value>local</value> - </property> - - - <property> - <name>lens.server.mocknonlens.service.impl</name> - <value>org.apache.lens.server.MockNonLensService</value> - <description>Implementation class for session service</description> - </property> ++ + <property> + <name>lens.server.drivers</name> + <value>hive:org.apache.lens.driver.hive.HiveDriver</value> + </property> + + <property> + <name>test.lens.site.key</name> + <value>gsvalue</value> + </property> + + <property> + <name>lens.server.enable.console.metrics</name> + <value>false</value> + <description>Enable metrics to be reported on console</description> + </property> + + <property> + <name>lens.server.persist.location</name> + <value>target/persist-dir</value> + </property> + + <property> + <name>lens.query.result.parent.dir</name> + <value>target/lens-results</value> + </property> + + <property> + <name>hive.server2.query.log.dir</name> + <value>target/query-logs</value> + </property> + + <property> + <name>hive.server2.authentication</name> + <value>CUSTOM</value> + </property> + + <property> + <name>hive.server2.custom.authentication.class</name> + <value>org.apache.lens.server.auth.FooBarAuthenticationProvider</value> + </property> + + + <property> + <name>lens.query.enable.mail.notify</name> + <value>false</value> + <description>When a query ends, whether to notify the submitter by mail or not.</description> + </property> + + <property> + <name>lens.server.mail.from.address</name> + <value>[email protected]</value> + <description>The from field in the notifier mail to the submitter.</description> + </property> + + <property> + <name>lens.server.mail.host</name> + <value>localhost</value> + <description>SMTP Host for sending mail</description> + </property> + + <property> + <name>lens.server.mail.port</name> + <value>25000</value> + <description>SMTP Port</description> + </property> + + <property> + <name>lens.server.ws.resourcenames</name> + <value>session,metastore,query,quota,scheduler,index,test,ml</value> + <description>These JAX-RS resources would be started in the specified order when lens-server starts up</description> + </property> + + <property> + <name>lens.server.test.ws.resource.impl</name> + <value>org.apache.lens.server.TestResource</value> + <description>Implementation class for Test Resource</description> + </property> + + <property> + <name>lens.server.ml.ws.resource.impl</name> + <value>org.apache.lens.ml.server.MLServiceResource</value> + <description>Implementation class for ML Service Resource</description> + </property> + + <property> + <name>lens.server.user.resolver.type</name> + <value>FIXED</value> + </property> + <property> + <name>lens.server.user.resolver.fixed.value</name> + <value>testlensuser</value> + </property> + <property> + <name>lens.server.domain</name> + <value>localhost</value> + </property> + + <property> + <!-- Immediately insert all finished queries to DB --> + <name>lens.server.max.finished.queries</name> + <value>1</value> + </property> + + <property> + <name>lens.server.db.jdbc.url</name> + <value>jdbc:hsqldb:target/queries.db</value> + </property> + + <property> + <name>lens.server.servicenames</name> + <value>session,query,metastore,scheduler,quota,ml,mocknonlens</value> + </property> + + <property> + <name>lens.server.ml.service.impl</name> + <value>org.apache.lens.ml.server.MLServiceImpl</value> + <description>Implementation class for ML service</description> + </property> + + <property> + <name>lens.ml.drivers</name> + <value>org.apache.lens.ml.algo.spark.SparkMLDriver</value> + </property> + + <property> + <name>lens.ml.sparkdriver.spark.master</name> + <value>local</value> + </property> + + + <property> + <name>lens.server.mocknonlens.service.impl</name> + <value>org.apache.lens.server.MockNonLensService</value> + <description>Implementation class for session service</description> + </property> </configuration>
