ok…I have made some progress 
I have found that when I do a query using DRUID Json, the lookup works!
{
“queryType” : “topN”,
“dataSource” : “sms_detail”,
“intervals” : [“2019-01-30/2019-02-02”],
“granularity” : “all”,
“dimension”: {
“type”: “extraction”,
“dimension”: “carrierid”,
“outputName”: “name”,
“extractionFn”: {
“type”: “registeredLookup”,
“lookup”: “mysql_carriername”
}
},
“metric” : “count”,
“threshold” : 10,
“aggregations” : [
{
“type” : “count”,
“name” : “count”
}
]
}
``
but if do a query via sql (I’m guessing maybe the way I am using the LOOKUP function is incorrect?)
My sql:
select count(*),LOOKUP(‘carrierid’,‘mysql_carriername’) from sms_detail where __time < ‘2019-02-01 01:00:00’
``
again this yields an error:
Error: Error -1 (00000) : Error while executing SQL “select count(),LOOKUP(’’,‘mysql_carriername’) from sms_detail where __time < ‘2019-02-01 01:00:00’”: Remote driver error: JsonMappingException: No content to map due to end-of-input
at [Source: ; line: 1, column: 1]
SQLState: 00000
ErrorCode: -1
``
in the logs (broker we find):
2019-06-19T13:07:22,578 WARN [qtp272220100-136] org.eclipse.jetty.server.HttpChannel - /druid/v2/sql/avatica/
java.lang.AssertionError: Type mismatch:
rowtype of new rel:
RecordType(BIGINT NOT NULL EXPR$0, VARCHAR CHARACTER SET “UTF-16LE” COLLATE “UTF-16LE$en_US$primary” EXPR$1) NOT NULL
rowtype of set:
RecordType(BIGINT NOT NULL EXPR$0, VARCHAR CHARACTER SET “UTF-16LE” COLLATE “UTF-16LE$en_US$primary” NOT NULL EXPR$1) NOT NULL
at org.apache.calcite.util.Litmus$1.fail(Litmus.java:31) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.RelOptUtil.equal(RelOptUtil.java:1857) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.RelSubset.add(RelSubset.java:276) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.RelSet.add(RelSet.java:148) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoPlanner.addRelToSet(VolcanoPlanner.java:1633) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1579) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:859) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:879) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:1755) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoRuleCall.transformTo(VolcanoRuleCall.java:135) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.RelOptRuleCall.transformTo(RelOptRuleCall.java:234) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.rel.rules.ReduceExpressionsRule$ProjectReduceExpressionsRule.onMatch(ReduceExpressionsRule.java:290) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoRuleCall.onMatch(VolcanoRuleCall.java:212) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:646) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:339) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.tools.Programs$SequenceProgram.run(Programs.java:358) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.calcite.prepare.PlannerImpl.transform(PlannerImpl.java:337) ~[calcite-core-1.17.0-iap1.jar:1.17.0-iap1]
at org.apache.druid.sql.calcite.planner.DruidPlanner.planWithDruidConvention(DruidPlanner.java:122) ~[druid-sql-0.14.0-incubating-iap10.jar:0.14.0-incubating-iap10]
at org.apache.druid.sql.calcite.planner.DruidPlanner.plan(DruidPlanner.java:92) ~[druid-sql-0.14.0-incubating-iap10.jar:0.14.0-incubating-iap10]
at org.apache.druid.sql.SqlLifecycle.plan(SqlLifecycle.java:143) ~[druid-sql-0.14.0-incubating-iap10.jar:0.14.0-incubating-iap10]
at org.apache.druid.sql.SqlLifecycle.planAndAuthorize(SqlLifecycle.java:209) ~[druid-sql-0.14.0-incubating-iap10.jar:0.14.0-incubating-iap10]
at org.apache.druid.sql.avatica.DruidStatement.prepare(DruidStatement.java:156) ~[druid-sql-0.14.0-incubating-iap10.jar:0.14.0-incubating-iap10]
at org.apache.druid.sql.avatica.DruidMeta.prepareAndExecute(DruidMeta.java:191) ~[druid-sql-0.14.0-incubating-iap10.jar:0.14.0-incubating-iap10]
at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:206) ~[avatica-core-1.10.0.jar:1.10.0]
at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:928) ~[avatica-core-1.10.0.jar:1.10.0]
at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:880) ~[avatica-core-1.10.0.jar:1.10.0]
at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94) ~[avatica-core-1.10.0.jar:1.10.0]
at org.apache.calcite.avatica.remote.JsonHandler.apply(JsonHandler.java:52) ~[avatica-core-1.10.0.jar:1.10.0]
at org.apache.calcite.avatica.server.AvaticaJsonHandler.handle(AvaticaJsonHandler.java:130) ~[avatica-server-1.10.0.jar:1.10.0]
at org.apache.druid.sql.avatica.DruidAvaticaHandler.handle(DruidAvaticaHandler.java:59) ~[druid-sql-0.14.0-incubating-iap10.jar:0.14.0-incubating-iap10]
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:61) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:169) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.server.Server.handle(Server.java:531) ~[jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:352) [jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) [jetty-server-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281) [jetty-io-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) [jetty-io-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) [jetty-io-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:760) [jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:678) [jetty-util-9.4.10.v20180503.jar:9.4.10.v20180503]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
``
finally: (my lookup):
Enter c{
“__default”: {
“mysql_carriername”: {
“version”: “v0”,
“lookupExtractorFactory”: {
“type”: “cachedNamespace”,
“extractionNamespace”: {
“type”: “jdbc”,
“connectorConfig”: {
“createTables”: true,
“connectURI”: “jdbc:mysql://uswest2-dev-almisc-001.aws-dev:3306/meta”,
“user”: “admin”,
“password”: “admin”
},
“table”: “xyz_carrier”,
“keyColumn”: “carrierId”,
“valueColumn”: “name”,
“pollPeriod”:600000
},
“firstCacheTimeout”: 120000,
“injective”: false
}
}
}
}
ode here…
``
Looking at the sql docs:
```LOOKUP(expr, lookupName)
- ``Look up expr in a registered query-time lookup table.`
so…am I doing something wrong what is the expression if not the dimension name…, or…