日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Kylin导入JDBC数据源遇到的问题

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Kylin导入JDBC数据源遇到的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、目標:
直接使用Mysql數據作為Kylin數據源
二、參考官方配置 JDBC 數據源
準備 Sqoop
Kylin 使用 Apache Sqoop 從關系型數據庫加載數據到 HDFS。在與 Kylin 同一個機器上下載并安裝最新版本的 Sqoop。我們使用 SQOOP_HOME 環境變量指出在本指南中 Sqoop 的安裝路徑。
準備 JDBC driver
需要下載您數據庫的 JDBC Driver 到 Kylin server。JDBC driver jar 需要被加到 KYLINHOME/extKYLINHOME/ext和SQOOP_HOME/lib 文件夾下。
配置 Kylin
在 $KYLIN_HOME/conf/kylin.properties 中,添加以下配置。
MySQL 樣例:

kylin.source.default=8 kylin.source.jdbc.connection-url=jdbc:mysql://hostname:3306/employees kylin.source.jdbc.driver=com.mysql.jdbc.Driver kylin.source.jdbc.dialect=mysql kylin.source.jdbc.user=your_username kylin.source.jdbc.pass=your_password kylin.source.jdbc.sqoop-home=/usr/hdp/current/sqoop-client/bin kylin.source.jdbc.filed-delimiter=|

三、遇到的問題:

exe cmd:/usr/hdp/2.5.5.0-157/sqoop/bin/sqoop import -Dorg.apache.sqoop.splitter.allow_text_splitter=true -Dmapreduce.job.queuename=default --connect "jdbc:mysql://X.X.X.X:3306/XXX" --driver com.mysql.jdbc.Driver --username XXXXX --password XXXXX --query "SELECT SLICES.CHANGED_ON as SLICES_CHANGED_ON ,SLICES.ID as SLICES_ID ,SLICES.SLICE_NAME as SLICES_SLICE_NAME ,SLICES.DATASOURCE_TYPE as SLICES_DATASOURCE_TYPE ,SLICES.DATASOURCE_NAME as SLICES_DATASOURCE_NAME ,SLICES.VIZ_TYPE as SLICES_VIZ_TYPE ,SLICES.DESCRIPTION as SLICES_DESCRIPTION FROM SUPERSET.SLICES as SLICES WHERE 1=1 AND \$CONDITIONS" --target-dir hdfs://master1.bigdata:8020/kylin/kylin_metadata_2.3/kylin-908401b6-a8aa-4879-a70d-fdefeefd833d/kylin_intermediate_superset_slice_1f3498b3_ed6f_47b2_bcaa_7fd449d93306 --split-by SLICES.SLICES.ID --boundary-query "SELECT min(SLICES.ID), max(SLICES.ID) FROM "SUPERSET".SLICES as SLICES" --null-string '' --fields-terminated-by '|' --num-mappers 1 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/hdp/2.5.5.0-157/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/insight/vdc1/software/apache-kylin-2.4.0-bin-hbase1x/spark/jars/slf4j-log4j12-1.7.16.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 18/08/14 16:19:55 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.5.3.0-37 18/08/14 16:19:55 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead. 18/08/14 16:19:55 WARN tool.BaseSqoopTool: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time. 18/08/14 16:19:55 ERROR tool.BaseSqoopTool: Got error creating database manager: You must specify --connection-manager when you specified --driver.at org.apache.sqoop.tool.BaseSqoopTool.init(BaseSqoopTool.java:278)at org.apache.sqoop.tool.ImportTool.init(ImportTool.java:89)at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:610)at org.apache.sqoop.Sqoop.run(Sqoop.java:147)at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183)at org.apache.sqoop.Sqoop.runTool(Sqoop.java:225)at org.apache.sqoop.Sqoop.runTool(Sqoop.java:234)at org.apache.sqoop.Sqoop.main(Sqoop.java:243)

四、異常分析:
從報錯上看,就是如果指定 –driver必須指定 –connection-manager,然后再Kylin.properties配置文件里,添加了 connection-manager=org.apache.sqoop.manager.MySQLManager,依然保持,并且執行的sql語句里并沒有讀取到參數connection-manager,于是在cube的configuration overwrites頁面添加connection manager參數,繼續build,同樣的異常,沒有讀取到參數。
接下來注釋掉 –driver參數,執行build,仍然報錯,執行的sql里 仍然傳了 –driver參數,只不過是null。
于是換了另一種思路,不通過Kylin配置sqoop參數,直接執行sqoop import語句,兩種方式都可以成功:1)同時傳–driver=com.mysql.jdbc.Driver –connection-manager=–connection-manager org.apache.sqoop.manager.MySQLManager
2)兩個參數都不傳。

五:解決
有了上面的嘗試,有了方向,可能跟sqoop的版本有關系,Kylin-2.4 source-jdbc部分并沒有適配sqoop的版本,使用的最新版本。為了確認自己的推斷,做了兩件事:
1、查看Kylin的source-jdbc部分的源碼
JdbcExplorer.java

package org.apache.kylin.source.jdbc;import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.UUID;import org.apache.commons.lang3.StringUtils; import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.util.DBUtils; import org.apache.kylin.common.util.Pair; import org.apache.kylin.metadata.datatype.DataType; import org.apache.kylin.metadata.model.ColumnDesc; import org.apache.kylin.metadata.model.ISourceAware; import org.apache.kylin.metadata.model.TableDesc; import org.apache.kylin.metadata.model.TableExtDesc; import org.apache.kylin.source.ISampleDataDeployer; import org.apache.kylin.source.ISourceMetadataExplorer; import org.apache.kylin.source.hive.DBConnConf; import org.apache.kylin.source.jdbc.metadata.IJdbcMetadata; import org.apache.kylin.source.jdbc.metadata.JdbcMetadataFactory; import org.slf4j.Logger; import org.slf4j.LoggerFactory;public class JdbcExplorer implements ISourceMetadataExplorer, ISampleDataDeployer {private static final Logger logger = LoggerFactory.getLogger(JdbcExplorer.class);private final KylinConfig config;private final String dialect;private final DBConnConf dbconf;private final IJdbcMetadata jdbcMetadataDialect;public JdbcExplorer() {config = KylinConfig.getInstanceFromEnv();String connectionUrl = config.getJdbcSourceConnectionUrl();String driverClass = config.getJdbcSourceDriver();String jdbcUser = config.getJdbcSourceUser();String jdbcPass = config.getJdbcSourcePass();this.dbconf = new DBConnConf(driverClass, connectionUrl, jdbcUser, jdbcPass);this.dialect = config.getJdbcSourceDialect();this.jdbcMetadataDialect = JdbcMetadataFactory.getJdbcMetadata(dialect, dbconf);}

并沒有參數connection-manager,并且–driver必傳

2、下載最新版sqoop-1.4.7,重新配置SQOOP_HOME
重啟Kylin,重新執行cube的build操作,成功執行。

六、總結:
生產環境的Sqoop是1.4.6,由于是內網并且多租戶使用,組件的及時更新很不現實,這次的問題,沒有在google找到一點問題的解決方案,不知道是大家沒有使用關系型數據庫,還是sqoop的版本都是最新的,費了好些周折,把問題分享出來,希望對同在坑中的同志提供些幫助。

總結

以上是生活随笔為你收集整理的使用Kylin导入JDBC数据源遇到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久成人免费电影 | 欧美一区二区三区爱爱 | 中文字幕第一区 | 美国av大片 | 一区二区黄色片 | 国产制服丝袜 | jiuse九色 | 女同性恋一区二区三区 | 高跟肉丝丝袜呻吟啪啪网站av | 欧美精品久久久久久久久久 | 极品白嫩少妇无套内谢 | 国产亚洲精品久 | 狠狠操在线| 欧美日韩国产精品一区 | 性生生活性生交a级 | 久久99成人 | 台湾a级艳片潘金莲 | av天天草| 日本在线视频不卡 | 激情九月天 | 日本欧美一级片 | 日韩欧美国产一区二区三区在线观看 | 免费播放毛片精品视频 | 黄色av网站免费在线观看 | 男阳茎进女阳道视频大全 | 男女吻胸做爰摸下身 | 五月婷婷丁香网 | 黄色的网站在线 | 亚洲精品理论片 | av我不卡| 97国产精品视频 | 国产激情视频在线观看 | 成人涩涩网 | 久草最新网址 | 狠狠入 | 日韩色av| 久久视 | 黄色免费国产 | 激情图片在线观看 | 九九九网站 | 欧美在线不卡视频 | 欧美熟妇精品久久久久久 | 91爱爱·com| 最近中文字幕在线中文视频 | 欧美性生话 | 99国产精品自拍 | 欧美成人看片黄a免费看 | 亚洲第一字幕 | 国产盗摄视频在线观看 | 黄色日批 | 中国丰满老妇xxxxx交性 | 欧美成人精品欧美一级乱 | 农村妇女毛片精品久久久 | 久久久久久久999 | 深夜精品 | 99综合在线 | 99re视频这里只有精品 | 在线视频观看一区 | 男女视频免费观看 | 成年人看的免费视频 | 日韩精品乱码 | 依依成人在线视频 | 欧美亚洲国产另类 | 中文字幕无码日韩专区免费 | 国产chinese男男gaygay视频 | 国产亚洲欧美视频 | 少妇裸体淫交视频免费看高清 | 欧美在线导航 | 黄色靠逼视频 | 老妇裸体性激交老太视频 | 日本变态折磨凌虐bdsm在线 | 在线观看免费毛片 | 欧美成人亚洲 | 原神淫辱系列同人h | 亚洲自拍偷拍网站 | 九九热视频免费 | 日本一区视频在线观看 | 深夜视频在线 | 午夜伦理在线观看 | 西野翔夫の目の前で犯在线 | 国产不卡av在线 | 国产超碰av | 日韩影院在线 | 少妇高潮喷水在线观看 | 影音先锋中文字幕在线视频 | 欧美xxxx18 | 黄色污网站在线观看 | 亚洲第一精品网站 | av在线最新| 欧美在线三区 | 精品动漫一区二区三区的观看方式 | 国产男女猛烈无遮挡 | 日批视频在线 | 亚欧成人精品一区二区 | 性——交——性——乱免费的 | 五月天激情小说 | 狼人精品一区二区三区在线 | 国产无遮挡又黄又爽又色 | 国产欧美日韩一区 |