在 Java 中使用空构造函数可以吗?例如,从 MySQL 数据库加载数据时,我想执行以下操作:
ResultSet set = statement.executeQuery();
while (set.next()) {
Faction faction = new Faction();
faction.setId(UUID.fromString(set.getString("id")));
faction.setName(set.getString("name"));
}
Run Code Online (Sandbox Code Playgroud)
因为我已经有一个派系类的构造函数,
public Faction(Player player, UUID uuid) {}
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以有一个普通的构造函数并且只设置值和时间。
否则,我可以使用与 mySQL 数据匹配的参数(公共派系(字符串名称、UUID uuid、字符串公告等)来创建一个构造函数来加载......不确定什么是最佳实践?
我正在使用汇合来连接我的数据库和ES,但出现以下异常:
org.apache.kafka.connect.errors.DataException: STRUCT is not supported as the document id.
at io.confluent.connect.elasticsearch.DataConverter.convertKey(DataConverter.java:75)
at io.confluent.connect.elasticsearch.DataConverter.convertRecord(DataConverter.java:84)
at io.confluent.connect.elasticsearch.ElasticsearchWriter.write(ElasticsearchWriter.java:210)
at io.confluent.connect.elasticsearch.ElasticsearchSinkTask.put(ElasticsearchSinkTask.java:119)
at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:429)
at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:250)
at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:179)
at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:148)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:139)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:182)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
我在卡夫卡连接-JDBC配置是:。
name=task-view-list-stage
connector.class=io.confluent.connect.jdbc.JdbcSourceConnector
tasks.max=10
connection.url=jdbc:postgresql://localhost:5432/postgres?user=postgres&password=test
table.types=TABLE
query=select * from employee_master
mode=timestamp+incrementing
incrementing.column.name=employee_master_id
timestamp.column.name=modified_date
validate.non.null=false
topic.prefix=my-id-app
Run Code Online (Sandbox Code Playgroud)
我的kafka-connect Elasticsearch配置是:
name=es-id-view
connector.class=io.confluent.connect.elasticsearch.ElasticsearchSinkConnector
tasks.max=1
topics=my-id-app
topics.key.ignore=false
transforms=InsertKey
transforms.InsertKey.type=org.apache.kafka.connect.transforms.ValueToKey
transforms.InsertKey.fields=employee_master_id
connection.url=http://localhost:9200
type.name=type_id
Run Code Online (Sandbox Code Playgroud)
我的表结构是:
employee_master_id | emp_name | modified_date
-----------------------------------------------------------
1 | Bala | "2017-05-18 …
Run Code Online (Sandbox Code Playgroud) jdbc elasticsearch apache-kafka confluent apache-kafka-connect
我还添加了 usr/local/share/hadoop/mapreduce/*jars、usr/local/hadoop/common、hive-exec-xxx.jar、hive-metastore-xxx.jar 和 hive-jdbc-xxx 的所有 jars 文件。罐。
蜂巢终端运行良好。
我的代码是:
private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriver";
try {
Class.forName(driverName);
Connection con;
con = DriverManager.getConnection("jdbc:hive://localhost:10000/default", "", "");
Statement stmt = con.createStatement();
stmt.executeQuery("CREATE DATABASE demodb");
System.out.println("Database userdb created successfully.");
con.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
例外:
java.lang.ClassNotFoundException: org.apache.hadoop.hive.jdbc.HiveDriver
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at hive.CRUDHive.main(CRUDHive.java:15)
Run Code Online (Sandbox Code Playgroud) 我想知道方法何时在 Java 中的 for 循环中完成
例子 :
for(int i = 0; i< list.size();i++){
Client.check(list.get(i).getUsername);
}
Run Code Online (Sandbox Code Playgroud)
我想检测并找到 Client.check 上次运行和循环完成:)
当我想在android studio中生成我的应用程序时,它会犯一个错误:
错误:条目中的空值:destinationDir = null
昨天是对的,但今天有问题.我也Clean
和Rebuild
我的项目但是没有用.
请帮我将底部导航栏位置设置为固定在底部,因为我在 editText 字段中输入输入时遇到问题,底部导航栏向上移动并覆盖在其他字段上
代码:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--- -->
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:background="#FF6936C3"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_gravity="start"
app:itemIconTint="@android:color/white"
app:itemTextColor="@android:color/white"
app:menu="@menu/bottom_nav_items" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 我正在尝试查询一个过滤过去24小时内的日期的查询:
select *
from tb
where created_at > DATEADD('hour', -24, now())
limit 100;
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
SYNTAX_ERROR: line 3:24: Function dateadd not registered
Run Code Online (Sandbox Code Playgroud) 我想将数据从csv批量加载到mySql。但是我可以看到将数据从csv插入到hive数据库的教程/逻辑。有人可以使用scala帮助我实现上述Spark集成吗?
根据GitHub上的文档,我的build.gradle(app)是:
repositories {
jcenter()
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.dubsmash.volley:library:2.0.1'
compile 'ca.mimic:oauth2library:2.3.0'
compile 'com.github.kittinunf.fuel:fuel:<latest-version>' //for JVM
compile 'com.github.kittinunf.fuel:fuel-android:<latest-version>' //for Android
compile 'com.github.kittinunf.fuel:fuel-livedata:<latest-version>' //for LiveData support
compile 'com.github.kittinunf.fuel:fuel-rxjava:<latest-version>' //for RxJava support
compile 'com.github.kittinunf.fuel:fuel-gson:<latest-version>' //for Gson support
compile 'com.github.kittinunf.fuel:fuel-jackson:<latest-version>' //for Jackson support
}
Run Code Online (Sandbox Code Playgroud)
当我尝试构建Gradle时,会为所有燃料组件抛出以下错误:
Unable to resolve dependency for ':app@debug/compileClasspath': Could not resolve com.github.kittinunf.fuel:fuel-livedata:<latest-version>.
Could not resolve com.github.kittinunf.fuel:fuel-livedata:<latest-version>.
Required by:
project :app …
Run Code Online (Sandbox Code Playgroud) 我必须使用Kotlin在Android上将字符串转换为double.
以下应该在Kotlin中有效,但不是(没有这样的方法):
var dbl = "1.0".toDouble()
Run Code Online (Sandbox Code Playgroud)
以下Javaish方式也不起作用:
var dbl = Double.parseDouble("1.0")
Run Code Online (Sandbox Code Playgroud)
显然,Android上的String类既没有Kotlin API,Double也没有通常的Java API?
是否有任何优雅的方式适用于Android与Kotlin?
现在,我正在使用它(这是有效的,但它很难看):
var dbl = java.lang.Double.parseDouble("1.0")
Run Code Online (Sandbox Code Playgroud)
该项目是使用Android Studio新创建的,使用以下版本:
ext.kotlin_version = '1.1.51'
minSdkVersion 23
targetSdkVersion 26
Run Code Online (Sandbox Code Playgroud)
我认为这是Android API和Kotlin API之间的一些不匹配.