code: public DataFrame getDataFrame(String query, EntityMetadata m, KunderaQuery kunderaQuery)
      {
          PersistenceUnitMetadata puMetadata = kunderaMetadata.getApplicationMetadata().getPersistenceUnitMetadata(
                  persistenceUnit);
          String clientName = puMetadata.getProperty(DATA_CLIENT).toLowerCase();
  
          SparkDataClient dataClient = SparkDataClientFactory.getDataClient(clientName);
          if (registeredTables.get(m.getTableName()) == null || !registeredTables.get(m.getTableName()))
          {
              dataClient.registerTable(m, this);
              registeredTables.put(m.getTableName(), true);
          }
          // at this level temp table or table should be ready
          DataFrame dataFrame = sqlContext.sql(query);
  
          return dataFrame;
      }
docs: Gets the data frame.
  
  @param query
  the query
  @param m
  the m
  @param kunderaQuery
  the kundera query
  @return the data frame