public static KylinConfig createKylinConfig(String propsInStr) { try { Properties props = new Properties(); props.load(new StringReader(propsInStr)); return createKylinConfig(props); } catch (IOException e) { throw new RuntimeException("Failed to create KylinConfig from string: " + propsInStr, e); } }
public static KylinConfig createKylinConfig(KylinConfig another) { return createKylinConfig(another.getRawAllProperties()); }
private static KylinConfig mockup(String outputDir) { KylinConfig mockup = KylinConfig.createKylinConfig(KylinConfig.getInstanceFromEnv()); mockup.setMetadataUrl(new File(outputDir).getAbsolutePath()); return mockup; } }
public static KylinConfig loadKylinConfigFromHdfs(String uri) { if (uri == null) throw new IllegalArgumentException("meta url should not be null"); if (!uri.contains("@hdfs")) throw new IllegalArgumentException("meta url should like @hdfs schema"); if (kylinConfigCache.get(uri) != null) { logger.info("KylinConfig cached for : {}", uri); return kylinConfigCache.get(uri); } logger.info("Ready to load KylinConfig from uri: {}", uri); KylinConfig config; FileSystem fs; String realHdfsPath = StorageURL.valueOf(uri).getParameter("path") + "/" + KylinConfig.KYLIN_CONF_PROPERTIES_FILE; try { fs = HadoopUtil.getFileSystem(realHdfsPath); InputStream is = fs.open(new Path(realHdfsPath)); Properties prop = KylinConfig.streamToProps(is); config = KylinConfig.createKylinConfig(prop); } catch (IOException e) { throw new RuntimeException(e); } kylinConfigCache.put(uri, config); return config; }
public static void dumpAndUploadKylinPropsAndMetadata(Set<String> dumpList, KylinConfigExt kylinConfig, String metadataUrl) throws IOException { try (AutoDeleteDirectory tmpDir = new AutoDeleteDirectory("kylin_job_meta", ""); AutoDeleteDirectory metaDir = tmpDir.child("meta")) { // dump metadata JobRelatedMetaUtil.dumpResources(kylinConfig, metaDir.getFile(), dumpList); // dump metadata dumpResources(kylinConfig, metaDir.getFile(), dumpList); // write kylin.properties Properties props = kylinConfig.exportToProperties(); props.setProperty("kylin.metadata.url", metadataUrl); File kylinPropsFile = new File(metaDir.getFile(), "kylin.properties"); try (FileOutputStream os = new FileOutputStream(kylinPropsFile)) { props.store(os, kylinPropsFile.getAbsolutePath()); } KylinConfig dstConfig = KylinConfig.createKylinConfig(props); //upload metadata new ResourceTool().copy(KylinConfig.createInstanceFromUri(metaDir.getAbsolutePath()), dstConfig); } } }
@Test public void testExecute() throws Exception { String metadataPath = tempMetadataDir.getPath(); String inputPath = "src/main/resources/SCSinkTools.json"; SCCreator cli = new SCCreator(); cli.execute("ADMIN", metadataPath, inputPath); Assert.assertTrue(tempMetadataDir.isDirectory()); KylinConfig local = KylinConfig.createKylinConfig(KylinConfig.getInstanceFromEnv()); local.setMetadataUrl(metadataPath); CubeManager cubeManager = CubeManager.getInstance(local); List<CubeInstance> cubeList = cubeManager.listAllCubes(); System.out.println("System cubes: " + cubeList); assertEquals(cubeList.size(), 5); for (CubeInstance cube : cubeList) { Assert.assertTrue(cube.getStatus() != RealizationStatusEnum.DESCBROKEN); } }
KylinConfig kylinConfig = KylinConfig.createKylinConfig(request.getKylinProperties());
@Test public void testThreadLocalOverride() throws InterruptedException { final String metadata1 = "meta1"; final String metadata2 = "meta2"; // set system KylinConfig KylinConfig sysConfig = KylinConfig.getInstanceFromEnv(); sysConfig.setMetadataUrl(metadata1); assertEquals(metadata1, KylinConfig.getInstanceFromEnv().getMetadataUrl().toString()); // test thread-local override KylinConfig threadConfig = KylinConfig.createKylinConfig(new Properties()); threadConfig.setMetadataUrl(metadata2); try (SetAndUnsetThreadLocalConfig autoUnset = KylinConfig.setAndUnsetThreadLocalConfig(threadConfig)) { assertEquals(metadata2, KylinConfig.getInstanceFromEnv().getMetadataUrl().toString()); // other threads still use system KylinConfig final String[] holder = new String[1]; Thread child = new Thread(new Runnable() { @Override public void run() { holder[0] = KylinConfig.getInstanceFromEnv().getMetadataUrl().toString(); } }); child.start(); child.join(); assertEquals(metadata1, holder[0]); } }
@Test public void testSnapshotOverVolume() throws IOException { KylinConfig cubeConfig = KylinConfig.createKylinConfig(getTestConfig()); cubeConfig.setProperty("kylin.snapshot.max-mb", "0"); String tableName = "DEFAULT.TEST_KYLIN_FACT";
@Test public void testRealizationSetCalculator() throws IOException { KylinConfig config = KylinConfig.createKylinConfig(getTestConfig()); Map<String, String> overrides = Maps.newHashMap(); overrides.put("kylin.query.signature-class", "org.apache.kylin.rest.signature.RealizationSetCalculator");
@Test public void testFactTableRealizationSetCalculator() throws IOException { KylinConfig config = KylinConfig.createKylinConfig(getTestConfig()); Map<String, String> overrides = Maps.newHashMap(); overrides.put("kylin.query.signature-class",
public static KylinConfig createKylinConfig(String propsInStr) { try { Properties props = new Properties(); props.load(new StringReader(propsInStr)); return createKylinConfig(props); } catch (IOException e) { throw new RuntimeException("Failed to create KylinConfig from string: " + propsInStr, e); } }
public static KylinConfig createKylinConfig(KylinConfig another) { return createKylinConfig(another.getRawAllProperties()); }
private static KylinConfig mockup(String outputDir) { KylinConfig mockup = KylinConfig.createKylinConfig(KylinConfig.getInstanceFromEnv()); mockup.setMetadataUrl(new File(outputDir).getAbsolutePath()); return mockup; } }
public static KylinConfig loadKylinConfigFromHdfs(String uri) { if (uri == null) throw new IllegalArgumentException("meta url should not be null"); if (!uri.contains("@hdfs")) throw new IllegalArgumentException("meta url should like @hdfs schema"); if (kylinConfigCache.get(uri) != null) { logger.info("KylinConfig cached for : {}", uri); return kylinConfigCache.get(uri); } logger.info("Ready to load KylinConfig from uri: {}", uri); KylinConfig config; FileSystem fs; String realHdfsPath = StorageURL.valueOf(uri).getParameter("path") + "/" + KylinConfig.KYLIN_CONF_PROPERTIES_FILE; try { fs = HadoopUtil.getFileSystem(realHdfsPath); InputStream is = fs.open(new Path(realHdfsPath)); Properties prop = KylinConfig.streamToProps(is); config = KylinConfig.createKylinConfig(prop); } catch (IOException e) { throw new RuntimeException(e); } kylinConfigCache.put(uri, config); return config; }
public static void dumpAndUploadKylinPropsAndMetadata(Set<String> dumpList, KylinConfigExt kylinConfig, String metadataUrl) throws IOException { try (AutoDeleteDirectory tmpDir = new AutoDeleteDirectory("kylin_job_meta", ""); AutoDeleteDirectory metaDir = tmpDir.child("meta")) { // dump metadata JobRelatedMetaUtil.dumpResources(kylinConfig, metaDir.getFile(), dumpList); // dump metadata dumpResources(kylinConfig, metaDir.getFile(), dumpList); // write kylin.properties Properties props = kylinConfig.exportToProperties(); props.setProperty("kylin.metadata.url", metadataUrl); File kylinPropsFile = new File(metaDir.getFile(), "kylin.properties"); try (FileOutputStream os = new FileOutputStream(kylinPropsFile)) { props.store(os, kylinPropsFile.getAbsolutePath()); } KylinConfig dstConfig = KylinConfig.createKylinConfig(props); //upload metadata new ResourceTool().copy(KylinConfig.createInstanceFromUri(metaDir.getAbsolutePath()), dstConfig); } } }
KylinConfig kylinConfig = KylinConfig.createKylinConfig(request.getKylinProperties());