Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

644
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!