@Override public void persist(String name, Object obj) { SerializerInstance serializer = this.serializer.newInstance(); byte[] serialized = serializer.serialize(obj, ClassTag$.MODULE$.Object()).array(); try { if (!ads.tableExists(AnalyticsConstants.SPARK_PERSISTENCE_TENANT_ID, SPARK_META_TABLE)) { ads.createTable(AnalyticsConstants.SPARK_PERSISTENCE_TENANT_ID, SPARK_META_TABLE); } Map<String, Object> values = new HashMap<>(1); values.put(OBJ_COLUMN, serialized); Record record = new Record(name, AnalyticsConstants.SPARK_PERSISTENCE_TENANT_ID, SPARK_META_TABLE, values); List<Record> records = new ArrayList<>(1); records.add(record); ads.put(records); } catch (AnalyticsException e) { String msg = "Error in writing data to spark meta table: " + e.getMessage(); log.error(msg, e); throw new RuntimeException(msg, e); } }