Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

641
Vistas
Apache Ignite: cómo enumerar todas las tablas y todos los cachés

¿Hay alguna forma de enumerar todas las tablas presentes en un caché específico y enumerar todos los cachés presentes en un servidor Apache Ignite?

----------------------------------ACTUALIZADO--------------- ----------- Hola, estoy ejecutando el siguiente código para conocer el nombre de la caché y enumerar todas las tablas presentes en mi caché. Esta lista de programas muestra todos los nombres de caché presentes en el servidor. Sin embargo, la lista de tablas se imprime como una colección en blanco. Mientras tanto, la consulta SQL presente en el ejemplo funciona bien.

 public static void main(String[] args) throws Exception { System.out.println("Run Spring example!!"); Ignition.setClientMode(true); IgniteConfiguration cfg = new IgniteConfiguration(); cfg.setIncludeEventTypes( EVTS_CACHE); cfg.setPeerClassLoadingEnabled(true); TcpDiscoveryMulticastIpFinder discoveryMulticastIpFinder = new TcpDiscoveryMulticastIpFinder(); Set<String> set = new HashSet<>(); set.add("hostname:47500..47509"); discoveryMulticastIpFinder.setAddresses(set); TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi(); discoverySpi.setIpFinder(discoveryMulticastIpFinder); cfg.setDiscoverySpi(discoverySpi); cfg.setPeerClassLoadingEnabled(true); cfg.setIncludeEventTypes(EVTS_CACHE); Ignite ignite = Ignition.start(cfg); System.out.println("All Available Cache on server : "+ignite.cacheNames()); CacheConfiguration<String, BinaryObject> cacheConfiguration = new CacheConfiguration<>(CACHE_NAME); Collection<QueryEntity> entities = cacheConfiguration.getQueryEntities(); System.out.println("All available tables in cache : "+entities); cacheConfiguration.setIndexedTypes(String.class, BinaryObject.class); //cacheConfiguration.setCacheMode(CacheMode.PARTITIONED); IgniteCache<String, BinaryObject> cache = ignite.getOrCreateCache(cacheConfiguration).withKeepBinary(); System.out.println(); QueryCursor<List<?>> query = cache.query(new SqlFieldsQuery("select Field1 from table1 where Field1='TEST'")); List<List<?>> all = query.getAll(); for (List<?> l : all) { System.out.println(l); } }
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Obtenga todos los nombres de caché: Ignite.cacheNames() . Luego use Ignite.cache(String) para obtener la instancia de caché.

Obtener tablas SQL:

 CacheConfiguration ccfg = cache.getConfiguration(CacheConfiguration.class); Collection<QueryEntity> entities = ccfg.getQueryEntities();

Cada entidad de consulta representa una tabla.

over 4 years ago · Santiago Trujillo Denunciar

0

Puede leer usando la consulta h2. SELECCIONE TABLE_NAME FROM INFORMATION_SCHEMA.TABLES donde TABLE_SCHEMA es el nombre de caché

 ClientConfiguration cfg = new ClientConfiguration().setAddresses(host+":"+port). setUserName(username).setUserPassword(pwd); private static IgniteClient igniteClient = Ignition.startClient(cfg); private static ClientCache<Integer, String> cache=igniteClient.getOrCreateCache(cacheName); QueryCursor<List<?>> cursor =cache.query(new SqlFieldsQuery("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='"+cacheName+"'")); for (List<?> row : cursor) { System.out.println(row.get(0)); }
over 4 years ago · Santiago Trujillo Denunciar

0

Puede obtener todos los nombres de caché usando Ignite.cacheNames() . Para obtener todos los nombres de las tablas, puede usar el comando SHOW TABLES :

 QueryCursor<List<?>> cursor = cache.query(new SqlFieldsQuery("SHOW TABLES FROM \""+CACHE_NAME+"\"")); for (List<?> row : cursor) { System.out.println(row.get(0)); }

Puede encontrar más detalles sobre el comando SHOW aquí: http://www.h2database.com/html/grammar.html#show

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda